getgrent(3) Library Functions Manual getgrent(3) getgrent, setgrent, endgrent - (libc -lc) #include #include struct group *getgrent(void); void setgrent(void); void endgrent(void); glibc ( feature_test_macros(7)): setgrent(): _XOPEN_SOURCE >= 500 || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE getgrent(), endgrent(): glibc 2.22: _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE glibc 2.21 _XOPEN_SOURCE >= 500 || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE getgrent() ( /etc/group NIS LDAP). getgrent() . setgrent() . endgrent() . group : struct group { char *gr_name; /* */ char *gr_passwd; /* */ gid_t gr_gid; /* */ char **gr_mem; /* NULL */ }; group(5). getgrent() group NULL . errno. errno . getgrent() getgrgid(3) getgrnam(3). ( free(3).) EAGAIN . NSS glibc . . EINTR signal(7). EIO /. EMFILE . ENFILE . ENOENT . NSS glibc . ENOMEM group. ERANGE . /etc/group attributes(7). +----------------------+------------------------------------+----------+ | | | | +----------------------+------------------------------------+----------+ |getgrent() | | MT-Unsafe | | | | race:grent | | | | race:grentbuf | | | | locale | +----------------------+------------------------------------+----------+ |setgrent(), | | | |endgrent() | | | | | | | | | | | | | | (MT-Unsafe) | | | | :grent | | | | locale | +----------------------+------------------------------------+----------+ grent race:grent setgrent() getgrent() endgrent() . POSIX.1-2008. POSIX.1-2001 SVr4 4.3BSD. fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3), putgrent(3), group(5) 3 . . : . 6.18 8 2026 getgrent(3)