getpwent(3) Library Functions Manual getpwent(3) NAZWA getpwent, setpwent, endpwent - pobranie wpisu z pliku hasel BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include #include struct passwd *getpwent(void); void setpwent(void); void endpwent(void); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): getpwent(), setpwent(), endpwent(): _XOPEN_SOURCE >= 500 || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE OPIS Funkcja getpwent() zwraca wskaznik do struktury, zawierajacej poszczegolne rekordy bazy danych hasel (na przyklad z lokalnego pliku hasel /etc/passwd, NIS-a lub LDAP-a). Podczas pierwszego wywolania getpwent() zwracany jest pierwszy wpis; pozniej zwracane sa kolejne. Funkcja setpwent() ustawia wskaznik pliku na poczatek pliku bazy danych hasel. Funkcja endpwent() jest uzywana do zamkniecia bazy danych hasel uzytkownikow po zakonczeniu jej przetwarzania. Struktura passwd jest nastepujaco zdefiniowana w pliku : struct passwd { char *pw_name; /* nazwa uzytkownika */ char *pw_passwd; /* haslo uzytkownika */ uid_t pw_uid; /* identyfikator uzytkownika */ gid_t pw_gid; /* identyfikator grupy */ char *pw_gecos; /* informacje o uzytkowniku */ char *pw_dir; /* katalog domowy */ char *pw_shell; /* program powloki */ }; Wiecej informacji o polach w tej strukturze mozna znalezc w podreczniku passwd(5). WARTOSC ZWRACANA The getpwent() function returns a pointer to a passwd structure, or NULL if there are no more entries or an error occurred. If an error occurs, errno is set to indicate the error. If one wants to check errno after the call, it should be set to zero before the call. Zwrocona wartosc moze wskazywac na statyczny obszar, ktory moze byc nadpisany przez kolejne wywolania getpwent(), getpwnam(3) lub getpwuid(3). (Zwroconego wskaznika nie nalezy przekazywac do funkcji free(3)). BLEDY EINTR Przechwycono sygnal, patrz signal(7). EIO Blad wejscia/wyjscia. EMFILE Zostalo osiagniete ograniczenie na liczbe otwartych deskryptorow plikow dla procesu. ENFILE Zostalo osiagniete systemowe ograniczenie na calkowita liczbe otwartych plikow. ENOMEM Zabraklo pamieci na przydzielenie struktury passwd. ERANGE Przekazano niewystarczajacy bufor. PLIKI /etc/passwd lokalny plik bazy z haslami ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +------------+--------------------------+------------------------------+ |Interfejs | Atrybut | Wartosc | +------------+--------------------------+------------------------------+ |getpwent() | Bezpieczenstwo watkowe | MT-Unsafe race:pwent | | | | race:pwentbuf locale | +------------+--------------------------+------------------------------+ |setpwent(), | Bezpieczenstwo watkowe | MT-niebezpieczne race:pwent | |endpwent() | | locale | +------------+--------------------------+------------------------------+ W powyzszej tabeli, pwent w race:pwent oznacza, ze jesli ktoras z funkcji setpwent(), getpwent() lub endpwent() jest uzywana rownolegle w roznych watkach programu, moze nastapic sytuacja wyscigu danych. WERSJE The pw_gecos field is not specified in POSIX, but is present on most implementations. STANDARDY POSIX.1-2008. HISTORIA POSIX.1-2001, SVr4, 4.3BSD. ZOBACZ TAKZE fgetpwent(3), getpw(3), getpwent_r(3), getpwnam(3), getpwuid(3), putpwent(3), passwd(5) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Andrzej Krzysztofowicz i Robert Luberda Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. getpwent(3)