13e12c5d1SDavid du Colombier #include <sys/types.h> 23e12c5d1SDavid du Colombier #include <sys/stat.h> 33e12c5d1SDavid du Colombier #include <fcntl.h> 43e12c5d1SDavid du Colombier #include <stdlib.h> 53e12c5d1SDavid du Colombier #include <unistd.h> 63e12c5d1SDavid du Colombier #include <errno.h> 7*219b2ee8SDavid du Colombier #include <stdio.h> 83e12c5d1SDavid du Colombier #include "sys9.h" 9*219b2ee8SDavid du Colombier #include "lib.h" 103e12c5d1SDavid du Colombier 113e12c5d1SDavid du Colombier pid_t getpgrp(void)123e12c5d1SDavid du Colombiergetpgrp(void) 133e12c5d1SDavid du Colombier { 14*219b2ee8SDavid du Colombier int n, f, pid; 15*219b2ee8SDavid du Colombier char pgrpbuf[15], fname[30]; 163e12c5d1SDavid du Colombier 17*219b2ee8SDavid du Colombier pid = getpid(); 18*219b2ee8SDavid du Colombier sprintf(fname, "/proc/%d/noteid", pid); 19*219b2ee8SDavid du Colombier f = open(fname, 0); 203e12c5d1SDavid du Colombier n = read(f, pgrpbuf, sizeof pgrpbuf); 213e12c5d1SDavid du Colombier if(n < 0) 22*219b2ee8SDavid du Colombier _syserrno(); 233e12c5d1SDavid du Colombier else 243e12c5d1SDavid du Colombier n = atoi(pgrpbuf); 253e12c5d1SDavid du Colombier close(f); 263e12c5d1SDavid du Colombier return n; 273e12c5d1SDavid du Colombier } 28