1*3e12c5d1SDavid du Colombier #include <sys/types.h> 2*3e12c5d1SDavid du Colombier #include <sys/stat.h> 3*3e12c5d1SDavid du Colombier #include <fcntl.h> 4*3e12c5d1SDavid du Colombier #include <stdlib.h> 5*3e12c5d1SDavid du Colombier #include <unistd.h> 6*3e12c5d1SDavid du Colombier #include <errno.h> 7*3e12c5d1SDavid du Colombier #include "sys9.h" 8*3e12c5d1SDavid du Colombier 9*3e12c5d1SDavid du Colombier pid_t getppid(void)10*3e12c5d1SDavid du Colombiergetppid(void) 11*3e12c5d1SDavid du Colombier { 12*3e12c5d1SDavid du Colombier int n, f; 13*3e12c5d1SDavid du Colombier char ppidbuf[15]; 14*3e12c5d1SDavid du Colombier 15*3e12c5d1SDavid du Colombier f = open("#c/ppid", 0); 16*3e12c5d1SDavid du Colombier n = read(f, ppidbuf, sizeof ppidbuf); 17*3e12c5d1SDavid du Colombier if(n < 0) 18*3e12c5d1SDavid du Colombier errno = EINVAL; 19*3e12c5d1SDavid du Colombier else 20*3e12c5d1SDavid du Colombier n = atoi(ppidbuf); 21*3e12c5d1SDavid du Colombier close(f); 22*3e12c5d1SDavid du Colombier return n; 23*3e12c5d1SDavid du Colombier } 24