getgrent, setgrent, endgrent − hole Eintrag aus Gruppendatei
#include <grp.h>
#include <sys/types.h>
struct group *getgrent(void);
void setgrent(void);
void endgrent(void);
Die Funktion getgrent() gibt einen Zeiger auf eine Struktur zurück, die die Gruppeninformationen aus /etc/group enthält. 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 Datei /etc/group zurück.
Die Funktion endgrent() schließt die Datei /etc/group.
Die Struktur group ist in <grp.h> wie folgt definiert:
struct group {
char *gr_name; /* Gruppenname */
char *gr_passwd; /* Gruppenpasswort */
gid_t gr_gid; /* Gruppenkennung */
char **gr_mem; /* Gruppenmitglieder */
};
Die Funktion getgrent() gibt die Gruppeninformationstuktur zurück, oder NULL wenn es keine weiteren Einträge mehr gibt oder ein Fehler auftritt.
ENOMEM |
Zu wenig Speicher um die Gruppeninformationsstruktur zu belegen. |
/etc/group Gruppendatenbankdatei
SVID 3, BSD 4.3