Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

getgrnam_r - Gruppendateieintrag für Gruppenname threadsicher ermitteln

&pagelevel(4)&pagelevel

Definition

#include <sys/types.h>

#include <grp.h>

int getgrnam_r(const char * name, struct group * grp, char * buffer, size_t bufsize, struct group ** result);

Beschreibung

Die Funktion getgrnam_r() aktualisiert die Gruppenstruktur, auf die grp zeigt und speichert einen Zeiger auf diese Struktur an der Adresse, auf die result zeigt, ab. Die Struktur enthält den Eintrag aus der Gruppendatei, dessen Komponente gr_name mit name übereinstimmt.

Die gefundene Gruppenstruktur aus der Gruppendatei wird in den Speicher, der mit dem Parameter buffer in der Länge bufsize übergeben wurde, kopiert. Die maximal für diesen Puffer benötigte Größe kann über den sysconf()-Parameter {_SC_GETGR_R_SIZE_MAX} ermittelt werden. Im Fehlerfall oder wenn der gesuchte Eintrag nicht gefunden werden konnte, wird ein Nullzeiger im Datenbereich, auf den result zeigt, zurückgegeben.

Returnwert

0

bei Erfolg.


Fehlernummer

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

Die Funktion getgrnam _r() schlägt in allen Fällen fehl, in denen getgrnam(name) fehl schlagen würde (siehe dort).

Zusätzlich schlägt getgrnam_r() fehl, wenn gilt:

 

ERANGE

Der Speicherplatz, der über buffer und bufsize bereitgestellt wurde, ist zu klein, um die Daten der resultierenden Gruppenstruktur aufzunehmen.

Siehe auch

  getgrnam(), getgrgid_r(), grp.h, limits.h, sys/types.h, Handbuch „POSIX-Grundlagen“ [1].