Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
getgroups, setgroups - pobiera/ustawia list identyfikatorow grup
dodatkowych
SK/LADNIA
#include <sys/types.h>
#include <unistd.h>
int getgroups(int size, gid_t list[]);
#include <grp.h>
int setgroups(size_t size, const gid_t *list);
OPIS
getgroups
Zwraca w list maksymalnie size dodatkowych ID grup. Nie jest
okrelone, czy efektywny ID grupy procesu wywolujcego bdzie
znajdowa si na zwroconej licie. Tak wic, aplikacja powinna
wywola rownie getegid(2) i doda lub usun otrzyman warto.) Jeli
size jest rowne zero, to list nie jest modyfikowane, lecz
zwracana jest ogolna liczba dodatkowych grup procesu.
setgroups
Ustawia dodatkowe grupy procesu. Jedynie superuytkownik moe tego
dokona.
WARTO ZWRACANA
getgroups
po pomylnym zakoczeniu zwraca liczb grup dodatkowych. Po bldzie
zwracane jest -1 i odpowiednio ustawiane errno.
setgroups
po pomylnym zakoczeniu zwraca zero. Po bldzie zwracane jest -1
i odpowiednio ustawiane errno.
B/LDY
EFAULT list ma nieprawidlowy adres.
EPERM Dla setgroups, uytkownik nie jest superuytkownikiem.
EINVAL Dla setgroups, size jest wiksze ni NGROUPS (32 dla Linuksa
2.0.32). Dla getgroups, size jest mniejsze ni liczba grup
dodatkowych, ale niezerowe.
UWAGI
Proces moe posiada maksymalnie co najmniej NGROUPS_MAX grup dodatkowych
oprocz efektywnego ID grupy. Zbior grup dodatkowych jest dziedziczony
po procesie rodzicielskim i moe zosta zmieniony za pomoc setgroups.
Maksymalna liczba grup dodatkowych moe by odczytana za pomoc
sysconf(3):
long ngroups_max;
ngroups_max = sysconf(_SC_NGROUPS_MAX);
Maksymalna zwracana przez getgroups warto nie moe by wiksza ni
powikszona o jeden warto otrzymana w powyszy sposob.
Prototyp dla setgroups jest dostpny jedynie, gdy zdefiniowane jest
_BSD_SOURCE (bezporednio, albo porednio - nie definiujc _POSIX_SOURCE
czy kompilujc z wlczon flag -ansi).
ZGODNE Z
SVr4, SVID (tylko wydanie 4; wywola tych nie bylo w SVr3), X/OPEN,
4.3BSD. Funkcja getgroups istnieje w POSIX.1. Poniewa setgroups wymaga
przywilejow, nie jest opisana w POSIX.1.
ZOBACZ TAKE
initgroups(3), getgid(2), setgid(2)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.