Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getgrent(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getlogin(3C)

getpwent(3C)

group(4)

grp(5)

getgrent(3C)                                                   getgrent(3C)

NAME
     getgrent, getgrgid, getgrnam, setgrent, endgrent, fgetgrent - Gruppen-
     datei-Eintrag bestimmen

SYNTAX
     #include <grp.h>

     struct group *getgrent(void);

     struct group *getgrgid(gidt gid);

     struct group *getgrnam(const char *name);

     void setgrent(void);

     void endgrent(void);

     struct group *fgetgrent(FILE *f);

BESCHREIBUNG
     getgrent(), getgrgid() und getgrnam() geben jeweils Zeiger auf ein
     Objekt mit nachstehender Struktur zurück, die die einzelnen Felder
     einer Zeile der Datei /etc/group enthält. Jede Zeile enthält eine
     "Gruppen"-Struktur, die in der Include-Datei grp.h definiert ist, mit
     folgenden Komponenten:

      struct        group {
            char    *grname;       /* Name der Gruppe */
            char    *grpasswd;     /* verschlüsseltes Gruppenpaßwort */
            gidt   grgid;         /* numerische Gruppen-ID */
            char    **grmem;       /* Zeiger auf Namen der
                                       Gruppenmitglieder */
        };

     Beim ersten Aufruf gibt getgrent() einen Zeiger auf die erste Gruppen-
     struktur in der Datei zurück; danach wird ein Zeiger auf die nächste
     Gruppenstruktur in der Datei zurückgegeben. Auf diese Weise können
     aufeinanderfolgende Aufrufe zum Absuchen der gesamten Datei verwendet
     werden. getgrgid() durchsucht die Datei vom Anfang, bis eine numeri-
     sche Gruppen-ID gefunden wird, die gid entspricht, und gibt einen Zei-
     ger auf die Struktur zurück, in der sie gefunden wurde.

     getgrnam() durchsucht die Datei vom Anfang ab, bis ein Gruppenname
     gefunden wird, der name entspricht, und gibt einen Zeiger auf die
     Struktur zurück, in der sie gefunden wurde. Wenn beim Lesen ein Datei-
     ende oder Fehler gefunden wird, geben diese Funktionen einen Nullzei-
     ger zurück.

     Ein Aufruf von setgrent() bewirkt ein Zurücksetzen des Schreib-/Lese-
     zeigers auf den Anfang der Gruppendatei und ermöglicht damit ein wie-
     derholtes Suchen. endgrent() kann am Ende der Verarbeitung aufgerufen
     werden, um die Gruppendatei zu schließen.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

getgrent(3C)                                                   getgrent(3C)

     fgetgrent() gibt einen Zeiger auf die nächste Gruppenstruktur in der
     Datei f zurück, die das Format von /etc/group haben muß.

ERGEBNIS
     getgrent(), getgrgid(), getgrnam() und fgetgrent() geben bei EOF oder
     einem Fehler einen Nullzeiger zurück.

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     Die Funktion getgrent() kann bei folgenden Bedingungen fehlschlagen:

     EINTR     Während der Operation wurde ein Signal empfangen.

     EIO       Ein Ein-/Ausgabefehler ist aufgetreten.

     EMFILE    OPENMAX Dateideskriptoren sind derzeit im aufrufenden Pro-
               zeß geöffnet.

     ENFILE    Die maximal zulässige Anzahl von Dateien ist im System
               geöffnet.

HINWEISE
     Alle Informationen sind in einem statischen Bereich enthalten. Dieser
     muß daher kopiert werden, wenn er gesichert werden soll.

     Wenn Fehlersituationen untersucht werden sollen, muß errno vor dem
     Aufruf der jeweiligen Funktion auf 0 gesetzt werden.

DATEIEN
     /etc/group

SIEHE AUCH
     getlogin(3C), getpwent(3C), group(4), grp(5).


















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026