plucky (3) setgrent.3.gz

Provided by: manpages-pl-dev_4.25.1-1_all bug

NAZWA

       getgrent, setgrent, endgrent - odczytuje wpis z pliku grup

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

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
               || /* glibc >= 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

       getgrent(), endgrent():
           Od glibc 2.22:
               _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE
           glibc 2.21 i wcześniejsze
               _XOPEN_SOURCE >= 500
                   || /* Od glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
                   || /* glibc <= 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.

       Struktura group jest następująco zdefiniowana w pliku <grp.h>:

           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).

       ┌───────────────────────┬────────────────────────┬───────────────────────────────────────────────────────┐
       │InterfejsAtrybutWartość                                               │
       ├───────────────────────┼────────────────────────┼───────────────────────────────────────────────────────┤
       │getgrent()             │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:grent race:grentbuf locale      │
       ├───────────────────────┼────────────────────────┼───────────────────────────────────────────────────────┤
       │setgrent(), endgrent() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:grent locale                    │
       └───────────────────────┴────────────────────────┴───────────────────────────────────────────────────────┘
       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.

STANDARDY

       POSIX.1-2008.

HISTORIA

       POSIX.1-2001, SVr4, 4.3BSD.

ZOBACZ TAKŻE

       fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3), putgrent(3), group(5)

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony   podręcznika   są:    Andrzej    Krzysztofowicz
       <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając się z GNU General Public License w wersji  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy dyskusyjnej ⟨manpages-pl-
       list@lists.sourceforge.net⟩.