1#include <grp.h> 2#define T(t) (t*)0; 3#define F(t,n) {t *y = &x.n;} 4static void f() 5{ 6T(gid_t) 7T(size_t) 8{ 9struct group x; 10F(char*, gr_name) 11F(gid_t, gr_gid) 12F(char**, gr_mem) 13} 14{void(*p)(void) = endgrent;} 15{struct group*(*p)(void) = getgrent;} 16{struct group*(*p)(gid_t) = getgrgid;} 17{int(*p)(gid_t,struct group*,char*,size_t,struct group**) = getgrgid_r;} 18{struct group*(*p)(const char*) = getgrnam;} 19{int(*p)(const char*,struct group*,char*,size_t,struct group**) = getgrnam_r;} 20#ifdef _XOPEN_SOURCE 21{void(*p)(void) = setgrent;} 22#endif 23} 24