Rechercher une page de manuel
getgroups
Langue: pl
Version: 1997-12-10 (openSuse - 09/10/07)
Section: 2 (Appels système)
NAZWA
getgroups, setgroups - pobiera/ustawia listê identyfikatorów grup dodatkowychSK£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
- 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)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre