getpwent(3) Library Functions Manual getpwent(3) NAZWA getpwent, setpwent, endpwent - pobiera wpis 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 Funkcja getpwent() zwraca wskaznik do struktury passwd albo NULL, jesli nie ma wiecej wpisow lub gdy wystapil blad. W przypadku wystapienia bledu ustawia errno, wskazujac blad. Aby moc sprawdzic errno po wywolaniu tej funkcji, nalezy ja przed wywolaniem ustawic na zero. 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-niebezpieczne 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 Pole pw_gecos nie jest wymienione w standardzie POSIX, ale wiekszosc implementacji je zawiera. 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 , Robert Luberda i Michal Kulach 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.12 23 lipca 2024 r. getpwent(3)