Provided by: manpages-pl-dev_20060617-3_all bug

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.