getgrent

GETGRENT(3)             PodrÄcznik programisty Linuksa             GETGRENT(3)



NAZWA
       getgrent, setgrent, endgrent - odczytanie wpisu z pliku grup

SKÅADNIA
       #include <sys/types.h>
       #include <grp.h>

       struct group *getgrent(void);

       void setgrent(void);

       void endgrent(void);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       setgrent():
           _XOPEN_SOURCE >= 500
               || /* Od glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

       getgrent(), endgrent():
           _XOPEN_SOURCE >= 500
               || /* Od glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
               || /* Glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

OPIS
       Funkcja getgrent() zwraca wskaźnik do struktury, zawierajÄcej
       poszczególne rekordy bazy danych o grupach (na przykÅad z lokalnego
       pliku grup /etc/group, NIS-a lub LDAP-a). Podczas pierwszego wywoÅania
       getgrent() zwracany jest pierwszy wpis; później zwracane sÄ kolejne.

       Funkcja setgrent() przesuwa wskaźnik pliku na poczÄtek bazy danych o
       grupach, umożliwiajÄc jej ponowne przetwarzanie.

       Funkcja endgrent() jest używana do zamkniÄcia bazy danych o grupach po
       zakoÅczeniu jej przetwarzania.

       StrukturÄ group zdefiniowano w <grp.h> nastÄpujÄco:

           struct group {
               char   *gr_name;      /* nazwa grupy */
               char   *gr_passwd;    /* hasÅo grupy */
               gid_t   gr_gid;       /* identyfikator grupy */
               char  **gr_mem;       /* zakoÅczona NULL-em tablica wskaźników
                                        do nazw czÅonków grupy */
           };

       WiÄcej informacji o polach w tej strukturze można znaleÅºÄ w
       podrÄczniku group(5).

WARTOÅÄ ZWRACANA
       Funkcja getgrent() zwraca wskaźnik do struktury group lub NULL, gdy
       nie ma wiÄcej wpisów lub gdy wystÄpiÅ bÅÄd.

       W przypadku wystÄpienia bÅÄdu może ustawiÄ odpowiedniÄ wartoÅÄ
       zmiennej errno. Aby móc sprawdziÄ errno po wywoÅaniu tej funkcji,
       należy jÄ przed wywoÅaniem ustawiÄ na zero.

       Zwrócona wartoÅÄ może wskazywaÄ na statyczny obszar, który może byÄ
       nadpisany przez kolejne wywoÅania getgrent(), getgrgid(3) lub
       getgrnam(3). (Zwróconego wskaźnika nie należy przekazywaÄ do funkcji
       free(3)).

BÅÄDY
       EAGAIN UsÅuga byÅa czasowo niedostÄpna; proszÄ spróbowaÄ ponownie
              później. W przypadku używania usÅug NSS w glibc wskazuje to
              na tymczasowy bÅÄd komunikacji z usÅugÄ NSS. Problem może siÄ
              sam rozwiÄzaÄ, sugerowane jest późniejsze ponowne
              spróbowanie.

       EINTR  Przechwycono sygnaÅ, patrz signal(7).

       EIO    BÅÄd wejÅcia/wyjÅcia.

       EMFILE ZostaÅo osiÄgniÄte ograniczenie na liczbÄ otwartych
              deskryptorów plików dla procesu.

       ENFILE ZostaÅo osiÄgniÄte systemowe ograniczenie na caÅkowitÄ liczbÄ
              otwartych plików.

       ENOENT Nie można byÅo znaleÅºÄ wymaganego pliku wejÅciowego bazy
              danych. W przypadku używania usÅug NSS w glibc oznacza to, że
              nie zostaÅy poprawnie skonfigurowane.

       ENOMEM ZabrakÅo pamiÄci na przydzielenie struktury group.

       ERANGE Przekazano niewystarczajÄcy bufor.

PLIKI
       /etc/group
              lokalny plik bazy grup

ATRYBUTY
       Informacje o pojÄciach używanych w tym rozdziale można znaleÅºÄ w
       podrÄczniku attributes(7).

       ┌────────────┬────────────────────────┬─────────────────────────────┐
       │Interfejs   Atrybut                WartoÅÄ                     │
       ├────────────┼────────────────────────┼─────────────────────────────┤
       │getgrent()  │ BezpieczeÅstwo wÄtkowe │ MT-Unsafe race:grent        │
       │            │                        │ race:grentbuf locale        │
       ├────────────┼────────────────────────┼─────────────────────────────┤
       │setgrent(), │ BezpieczeÅstwo wÄtkowe │ MT-Unsafe race:grent locale │
       │endgrent()  │                        │                             │
       └────────────┴────────────────────────┴─────────────────────────────┘
       W powyższej tabeli, grent w race:grent oznacza, że jeÅli któraÅ z
       funkcji setgrent(), getgrent() lub endgrent() jest używana równolegle
       w różnych wÄtkach programu, może nastÄpiÄ sytuacja wyÅcigu danych.

ZGODNE Z
       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

ZOBACZ TAKŻE
       fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3),
       putgrent(3), group(5)

O STRONIE
       Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux
       man-pages. Opis projektu, informacje dotyczÄce zgÅaszania bÅÄdów oraz
       najnowszÄ wersjÄ oryginaÅu można znaleÅºÄ pod adresem
       https://www.kernel.org/doc/man-pages/.

TÅUMACZENIE
       Autorami polskiego tÅumaczenia niniejszej strony podrÄcznika man sÄ:
       Andrzej M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i Robert
       Luberda <robert@debian.org>.

       Polskie tÅumaczenie jest czÄÅciÄ projektu manpages-pl; uwagi, pomoc,
       zgÅaszanie bÅÄdów na stronie http://sourceforge.net/projects/manpages-
       pl/. Jest zgodne z wersjÄ  4.07 oryginaÅu.



                                  2016-03-15                       GETGRENT(3)