Provided by: manpages-de-dev_2.16-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
       herausgenommenen 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  5.03  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)