Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


getgrent(3) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |FILES |ATTRIBUTES |STANDARDS |HISTORY |SEE ALSO |COLOPHON

getgrent(3)              Library Functions Manualgetgrent(3)

NAME        top

       getgrent, setgrent, endgrent - get group file entry

LIBRARY        top

       Standard C library (libc,-lc)

SYNOPSIS        top

#include <sys/types.h>#include <grp.h>struct group *getgrent(void);void setgrent(void);void endgrent(void);   Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):setgrent():           _XOPEN_SOURCE >= 500               || /* glibc >= 2.19: */ _DEFAULT_SOURCE               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCEgetgrent(),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

DESCRIPTION        top

       Thegetgrent() function returns a pointer to a structure       containing the broken-out fields of a record in the group database       (e.g., the local group file/etc/group, NIS, and LDAP).  The first       timegetgrent() is called, it returns the first entry; thereafter,       it returns successive entries.       Thesetgrent() function rewinds to the beginning of the group       database, to allow repeated scans.       Theendgrent() function is used to close the group database after       all processing has been performed.       Thegroup structure is defined in<grp.h> as follows:           struct group {               char   *gr_name;        /* group name */               char   *gr_passwd;      /* group password */               gid_t   gr_gid;         /* group ID */               char  **gr_mem;         /* NULL-terminated array of pointers                                          to names of group members */           };       For more information about the fields of this structure, seegroup(5).

RETURN VALUE        top

       Thegetgrent() function returns a pointer to agroup structure, or       NULL if there are no more entries or an error occurs.       Upon error,errno may be set.  If one wants to checkerrno after       the call, it should be set to zero before the call.       The return value may point to a static area, and may be       overwritten by subsequent calls togetgrent(),getgrgid(3), orgetgrnam(3).  (Do not pass the returned pointer tofree(3).)

ERRORS        top

EAGAINThe service was temporarily unavailable; try again later.              For NSS backends in glibc this indicates a temporary error              talking to the backend.  The error may correct itself,              retrying later is suggested.EINTRA signal was caught; seesignal(7).EIOI/O error.EMFILEThe per-process limit on the number of open file              descriptors has been reached.ENFILEThe system-wide limit on the total number of open files has              been reached.ENOENTA necessary input file cannot be found.  For NSS backends              in glibc this indicates the backend is not correctly              configured.ENOMEMInsufficient memory to allocategroup structure.ERANGEInsufficient buffer space supplied.

FILES        top

/etc/group              local group database file

ATTRIBUTES        top

       For an explanation of the terms used in this section, seeattributes(7).       ┌─────────────┬───────────────┬──────────────────────────────────┐       │InterfaceAttributeValue│       ├─────────────┼───────────────┼──────────────────────────────────┤       │getgrent()  │ Thread safety │ MT-Unsafe race:grent             │       │             │               │ race:grentbuf locale             │       ├─────────────┼───────────────┼──────────────────────────────────┤       │setgrent(), │ Thread safety │ MT-Unsafe race:grent locale      │       │endgrent()  │               │                                  │       └─────────────┴───────────────┴──────────────────────────────────┘       In the above table,grent inrace:grent signifies that if any of       the functionssetgrent(),getgrent(), orendgrent() are used in       parallel in different threads of a program, then data races could       occur.

STANDARDS        top

       POSIX.1-2008.

HISTORY        top

       POSIX.1-2001, SVr4, 4.3BSD.

SEE ALSO        top

fgetgrent(3),getgrent_r(3),getgrgid(3),getgrnam(3),getgrouplist(3),putgrent(3),group(5)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17getgrent(3)

Pages that refer to this page:getent(1)pmcd(1)pmdapipe(1)fgetgrent(3)getgrent_r(3)getgrnam(3)getgrouplist(3)putgrent(3)setaliasent(3)group(5)nss(5)nsswitch.conf(5)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp