getgroups-Subroutine

Zweck

Ruft die zusätzliche Gruppen-ID des aktuellen Prozesses ab.

Bibliothek

Standard-C-Bibliothek (libc.a)

Syntax

#include <sys/types.h>
#include <unistd.h>
int getgroups (NGroups, GIDSet)
int  NGroups;
gid_t  GIDSet [ ];

Beschreibung

Die Subroutine getgroups ruft die zusätzliche Gruppen-ID des Prozesses ab. Die Liste wird in dem Array gespeichert, auf das der Parameter GIDSet verweist. Der Parameter NGroups gibt die Anzahl der Einträge an, die in diesem Array gespeichert werden können. Die Subroutine getgroups gibt nie mehr als die durch die Konstante NGROUPS_MAX angegebene Anzahl von Einträgen zurück. (Die Konstante NGROUPS_MAX wird in der Datei limits.h definiert.) Wenn der Wert des Parameters NGroups 0 ist, gibt die Subroutine getgroups die Anzahl der Gruppen in der ergänzenden Gruppe zurück.

Parameter

Element Beschreibung
GIDSet Verweist auf das Array, in dem die zusätzliche Gruppen-ID des Benutzerprozesses gespeichert ist.
NGruppen Gibt die Anzahl der Einträge an, die in dem Array gespeichert sein können, auf das der Parameter GIDSet verweist.

Rückgabewerte

Nach erfolgreicher Beendigung gibt die Subroutine getgroups die Anzahl der Elemente zurück, die in dem Array gespeichert sind, auf das der Parameter GIDSet verweist. Wenn das Unterprogramm getgroups nicht erfolgreich ist, wird ein Wert von -1 zurückgegeben und die globale Variable errno gesetzt, um den Fehler anzuzeigen.

Fehlercodes

Die Subroutine getgroups ist nicht erfolgreich, wenn einer der folgenden Fehlercodes zutrifft:

Element Beschreibung
EFAULT Die Parameter NGroups und GIDSet geben ein Array an, das sich teilweise oder vollständig außerhalb des zugeordneten Adressraums des Prozesses befindet.
EINVAL Der Parameter NGroups ist kleiner als die Anzahl der Gruppen in der ergänzenden Gruppe.