FGETPWENT(3)

ИМЯ
fgetpwent - получает записи из файла паролей

ОБЗОР
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>

struct passwd *fgetpwent(FILE *stream);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

fgetpwent(): _SVID_SOURCE

ОПИСАНИЕ
Функция fgetpwent() возвращает указатель на структуру, содержащую отдельные поля строки файла stream. Во время первого вызова функция возвращает первую запись; в дальнейшем она возвращает все последующие записи. Формат файла stream должен быть таким же как у /etc/passwd (смотрите passwd(5)).

Структура passwd определена в <pwd.h> таким образом:

struct passwd {
    char   *pw_name;       /* имя пользователя */
    char   *pw_passwd;     /* пароль пользователя */
    uid_t   pw_uid;        /* идентификатор пользователя */
    gid_t   pw_gid;        /* идентификатор группы */
    char   *pw_gecos;      /* настоящее имя */
    char   *pw_dir;        /* домашний каталог */
    char   *pw_shell;      /* программная оболочка */
};

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция fgetpwent() возвращает указатель на структуру passwd или NULL, если больше паролей не найдено или произошла ошибка. При ошибке errno присваивается соответствующее значение.

ОШИБКИ

ENOMEM
    Недостаточно памяти для структуры passwd.

ФАЙЛЫ

/etc/passwd
    файл, содержащий базу паролей
    Интерфейс | Атрибут | Значение
    fgetpwent() | безвредность в нитях | небезопасно (MT-Unsafe race:fgetpwent)

СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4.

СМОТРИТЕ ТАКЖЕ
endpwent(3), fgetpwent_r(3), fopen(3), getpw(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)