getgrent(3) Library Functions Manual getgrent(3) getgrent, setgrent, endgrent - LIBRARY Standard C library (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(): Since glibc 2.22: _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE glibc 2.21 and earlier _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; /* ID */ 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 race: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) Azamat Hackimov , Dmitry Bolkhovskikh , Vladislav , Yuri Kozlov ; GNU 3 , . . , , . Linux man-pages 6.06 31 2023 . getgrent(3)