Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

       getgrent, setgrent, endgrent - holt einen Eintrag aus der Gruppendatei

ÜBERSICHT

       #include <sys/types.h>
       #include <grp.h>

       struct group *getgrent(void);

       void setgrent(void);

       void endgrent(void);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       setgrent():
           _XOPEN_SOURCE >= 500
               || /* Glibc seit 2.19: */ _DEFAULT_SOURCE
               || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
       getgrent(), endgrent():
           Seit Glibc 2.22:
               _XOPEN_SOURCE >= 500 ||
                   _DEFAULT_SOURCE
           Glibc 2.21 und älter
               _XOPEN_SOURCE >= 500
                   || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
                   || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

       Die  Funktion  getgrent() gibt einen Zeiger auf eine Struktur zurück, welche die Felder eines Eintrags in
       der Gruppendatenbank enthält (z.B. die lokale Gruppendatei /etc/group, NIS und LDAP). Beim ersten  Aufruf
       gibt sie den ersten Eintrag zurück, danach bei jedem weiteren Aufruf die folgenden Einträge.

       Die  Funktion setgrent() setzt den Dateizeiger auf den Anfang der Gruppendatenbank zurück, um wiederholte
       Abfragen zu ermöglichen.

       Die Funktion endgrent() wird dazu verwendet, die  Gruppendatenbank  zu  schließen,  nachdem  die  gesamte
       Verarbeitung durchgeführt wurde.

       Die Struktur group wird in <grp.h> wie folgt definiert:

           struct group {
               char   *gr_name;        /* Gruppenname */
               char   *gr_passwd;      /* Gruppenpasswort */
               gid_t   gr_gid;         /* Gruppenkennung */
               char  **gr_mem;         /* NULL-terminiertes Feld von Zeigern auf
                                          Namen von Gruppenmitgliedern */
           };

       Weitere Informationen zu den Feldern dieser Struktur finden Sie in group(5).

RÜCKGABEWERT

       Die  Funktion  getgrent()  gibt  einen  Zeiger  auf  eine group-Struktur zurück oder NULL, falls es keine
       weiteren Einträge mehr gibt oder ein Fehler auftritt.

       Im Fehlerfall kann errno gesetzt werden. Wenn Sie errno nach dem Aufruf auswerten wollen, sollten Sie die
       Variable vorher auf Null setzen.

       Der Rückgabewert kann auf einen statischen Bereich  zeigen  und  kann  durch  anschließende  Aufrufe  von
       getgrent(),  getgrgid(3) oder getgrnam(3) überschrieben werden. (Übergeben Sie den zurückgegebenen Zeiger
       nicht an free(3).)

FEHLER

       EAGAIN Der Dienst war  vorübergehend  nicht  erreichbar,  bitte  versuchen  Sie  es  später  erneut.  Für
              NSS-Backends  in  der  Glibc  weist dies auf einen temporären Fehler bei der Kommunikation mit dem
              Backend hin. Der Fehler kann sich unter Umständen selbst korrigieren, ein  erneuter  Versuch  wird
              empfohlen.

       EINTR  Ein Signal wurde abgefangen; siehe signal(7).

       EIO    E/A-Fehler (engl. I/O).

       EMFILE Die Beschränkung pro Prozess der Anzahl offener Datei-Deskriptoren wurde erreicht.

       ENFILE Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.

       ENOENT Eine  erforderliche Eingabedatei konnte nicht gefunden werden. Für NSS-Backends in der Glibc weist
              dies darauf hin, dass das Backend nicht korrekt eingerichtet wurde.

       ENOMEM Es ist nicht ausreichend Speicher für die Bereitstellung einer group-Struktur vorhanden.

       ERANGE Zu wenig Pufferspeicher bereitgestellt.

DATEIEN

       /etc/group
              lokale Gruppendatenbank-Datei

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌───────────────┬───────────────────────┬─────────────────────────────┐
       │ SchnittstelleAttributWert                        │
       ├───────────────┼───────────────────────┼─────────────────────────────┤
       │ getgrent()    │ Multithread-Fähigkeit │ MT-Unsafe race:grent        │
       │               │                       │ race:grentbuf locale        │
       ├───────────────┼───────────────────────┼─────────────────────────────┤
       │ setgrent(),   │ Multithread-Fähigkeit │ MT-Unsafe race:grent locale │
       │ endgrent()    │                       │                             │
       └───────────────┴───────────────────────┴─────────────────────────────┘

       In der obigen Tabelle  bedeutet  grent  in  race:grent,  dass,  falls  eine  der  Funktionen  setgrent(),
       getgrent()   oder   endgrent()  in  verschiedenen  Threads  eines  Programms  parallel  verwandt  werden,
       konkurrierende Zugriffe auf Daten (»data races«) auftreten könnten.

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

SIEHE AUCH

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

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  4.15  des  Projekts  Linux-man-pages.  Eine  Beschreibung  des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de>, Martin
       Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden, schicken Sie bitte eine E-Mail an
       <debian-l10n-german@lists.debian.org>.

                                               15. September 2017                                    GETGRENT(3)