ОБЗОР
#include <stdio.h>
#include <sys/types.h>
#include <grp.h>
struct group *fgetgrent(FILE *stream);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
fgetgrent(): _SVID_SOURCE
ОПИСАНИЕ
Функция fgetgrent() возвращает указатель на структуру, содержащую информацию о группах из файла, на который ссылается stream. Во время первого вызова функция возвращает первую запись; в дальнейшем она возвращает все последующие записи. Формат файла, на который указывает stream, должен быть таким же как у /etc/group (смотрите group(5)).Структура group определена в <grp.h> следующим образом:
struct group { char *gr_name; /* имя группы */ char *gr_passwd; /* пароль группы */ gid_t gr_gid; /* ID группы */ char **gr_mem; /* массив, указателей имён членов группы, оканчивающийся NULL */ };
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция fgetgrent() возвращает указатель на структуру group или NULL, если больше записей не найдено или произошла ошибка. При ошибке errno присваивается соответствующее значение.ОШИБКИ
- ENOMEM
- Недостаточно памяти для структуры group.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).Интерфейс | Атрибут | Значение |
fgetgrent() | безвредность в нитях | небезопасно (MT-Unsafe race:fgetgrent) |