1*3e12c5d1SDavid du Colombier #include <stddef.h> 2*3e12c5d1SDavid du Colombier #include <grp.h> 3*3e12c5d1SDavid du Colombier 4*3e12c5d1SDavid du Colombier extern int _getpw(int *, char **, char **); 5*3e12c5d1SDavid du Colombier extern char **_grpmems(char *); 6*3e12c5d1SDavid du Colombier 7*3e12c5d1SDavid du Colombier static struct group holdgroup; 8*3e12c5d1SDavid du Colombier 9*3e12c5d1SDavid du Colombier struct group * getgrgid(gid_t gid)10*3e12c5d1SDavid du Colombiergetgrgid(gid_t gid) 11*3e12c5d1SDavid du Colombier { 12*3e12c5d1SDavid du Colombier int num; 13*3e12c5d1SDavid du Colombier char *nam, *mem; 14*3e12c5d1SDavid du Colombier 15*3e12c5d1SDavid du Colombier num = gid; 16*3e12c5d1SDavid du Colombier nam = 0; 17*3e12c5d1SDavid du Colombier mem = 0; 18*3e12c5d1SDavid du Colombier if(_getpw(&num, &nam, &mem)){ 19*3e12c5d1SDavid du Colombier holdgroup.gr_name = nam; 20*3e12c5d1SDavid du Colombier holdgroup.gr_gid = num; 21*3e12c5d1SDavid du Colombier holdgroup.gr_mem = _grpmems(mem); 22*3e12c5d1SDavid du Colombier return &holdgroup; 23*3e12c5d1SDavid du Colombier } 24*3e12c5d1SDavid du Colombier return NULL; 25*3e12c5d1SDavid du Colombier } 26