ОБЗОР
#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)