Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       getgroups, setgroups - pobiera/ustawia listę identyfikatorów grup dodatkowych

SKŁADNIA

       #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

        Uwaga! To tłumaczenie może być nieaktualne!

       getgroups
              Zwraca  w  list  maksymalnie  size  dodatkowych  ID  grup.  Nie jest określone, czy
              efektywny ID grupy procesu wywołującego będzie znajdować się na  zwróconej  liście.
              Tak więc, aplikacja powinna wywołać również getegid(2) i dodać lub usunąć otrzymaną
              wartość.)  Jeśli size jest równe zero, to list nie jest modyfikowane, lecz zwracana
              jest ogólna liczba dodatkowych grup procesu.

       setgroups
              Ustawia dodatkowe grupy procesu. Jedynie superużytkownik może tego dokonać.

WARTOŚĆ ZWRACANA

       getgroups
              po  pomyślnym zakończeniu zwraca liczbę grup dodatkowych.  Po błędzie zwracane jest
              -1 i odpowiednio ustawiane errno.

       setgroups
              po pomyślnym zakończeniu zwraca zero. Po błędzie zwracane jest   -1  i  odpowiednio
              ustawiane errno.

BŁĘDY

       EFAULT list ma nieprawidłowy adres.

       EPERM  Dla setgroups, użytkownik nie jest superużytkownikiem.

       EINVAL Dla  setgroups,  size  jest  większe  niż  NGROUPS  (32  dla  Linuksa 2.0.32).  Dla
              getgroups, size jest mniejsze niż liczba grup dodatkowych, ale niezerowe.

UWAGI

       Proces  może  posiadać  maksymalnie  co  najmniej  NGROUPS_MAX  grup  dodatkowych   oprócz
       efektywnego ID grupy. Zbiór grup dodatkowych jest dziedziczony po procesie rodzicielskim i
       może zostać zmieniony za pomocą setgroups.  Maksymalna liczba grup  dodatkowych  może  być
       odczytana za pomocą sysconf(3):
           long ngroups_max;
           ngroups_max = sysconf(_SC_NGROUPS_MAX);
       Maksymalna  zwracana  przez getgroups wartość nie może być większa niż powiększona o jeden
       wartość otrzymana w powyższy sposób.

       Prototyp  dla  setgroups  jest  dostępny  jedynie,  gdy  zdefiniowane   jest   _BSD_SOURCE
       (bezpośrednio,  albo  pośrednio  -  nie definiując _POSIX_SOURCE czy kompilując z włączoną
       flagą -ansi).

ZGODNE Z

       SVr4, SVID (tylko wydanie 4; wywołań tych nie  było  w  SVr3),  X/OPEN,  4.3BSD.   Funkcja
       getgroups  istnieje  w  POSIX.1. Ponieważ setgroups wymaga przywilejów, nie jest opisana w
       POSIX.1.

ZOBACZ TAKŻE

       initgroups(3), getgid(2), setgid(2)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia  Manuali  i  może
       nie  być  aktualne.  W  razie  zauważenia  różnic  między  powyższym opisem a rzeczywistym
       zachowaniem opisywanego programu lub  funkcji,  prosimy  o  zapoznanie  się  z  oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 2 getgroups

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.