Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

getpwnam_r, getpwuid_r - Benutzernamen threadsicher ermitteln

&pagelevel(4)&pagelevel

Definition

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

int getpwnam_r(const char *nam, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result);

int getpwuid_r(uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result);

Beschreibung

Die Funktionen getpwnam_r() und getpwuid_r() aktualisieren die passwd-Strukur, auf die pwd zeigt und speichern einen Zeiger auf diese Struktur an der Adresse, auf die result zeigt, ab. Die Struktur enthält den Eintrag aus dem Benutzerkatalog, dessen Komponente pw_name bzw. pw_uid mit nam bzw. uid übereinstimmt.

Die gefundene passwd-Struktur aus dem Benutzerkatalog wird in den Speicher kopiert, der mit dem Parameter buffer in der Länge bufsize übergeben wurde. Die maximal für diesen Puffer benötigte Größe kann über den sysconf()-Parameter {_SC_GETPW_R_SIZE_MAX} ermittelt werden.

Returnwert

0

bei Erfolg.

 

Fehlernummer

sonst. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

Die Funktionen getpwnam_r() und getpwuid_r() schlagen fehl, wenn gilt:


ERANGE

Der über buffer und bufsize zur Verfügung gestellte Speicher reicht für die Aufnahme der Daten, auf die die resultierende Gruppenstruktur verweist, nicht aus.

Hinweis

Bei einem Fehler, oder wenn der angeforderte Eintrag nicht gefunden wird, wird ein Nullzeiger an der Adresse zurückgegeben, auf die result zeigt.

Siehe auch

getpwnam(), getpwuid(), pwd(), types().