[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Получение доступа к файлу групп
Функции getgrent(3C), getgrgid(3C) и getgrnam(3C) возвращают указатель
на структуру, которая содержит разбитую на поля строку из файла
/etc/group. Каждая строка представлена в формате структуры group,
определенной следующим образом:
grp.h:
struct group {
char *gr_name;
char *gr_passwd;
gid_t gr_gid;
char **gr_mem;
};
При первом вызове getgrent(3C) возвращает указатель на первую
структуру group в файле. В следующий раз getgrent(3C) вернет указатель
на следующую структуру group. Последовательные вызовы могут
использоваться для поиска во всем файле.
getgrgid(3C) ищет от начала файла, пока не найдет структуру с полем
идентификатора группы равным gid. Возвращает указатель на найденную
структуру.
getpgram(3C) ищет от начала файла, пока не найдет структуру с полем
имени группы равным name. Возвращает указатель на найденную структуру.
Вызов setgrent(3C) предоставляет возможность вести последующий поиск с
помощью функции getgrent(3C) с начала файла.
endgrent(3C) может быть вызвана, чтобы закрыть файл групп после
завершения обработки.
fgetgrent(3C) возвращает указатель на следующую структуру group в
потоке f, формат которого соответствует формату /etc/group.
Замечание: эти библиотечные функции возвращают указатель на структуру,
которая расположена в сегменте данных. Следовательно, значения в
структуре должны быть скопированы перед последующими вызовами этих
функций. Если достигнут конец файла или возникнет ошибка чтения, то
функция вернет NULL-указатель.
ПОЛУЧЕНИЕ ДОСТУПА К ФАЙЛУ ГРУПП
getgrent(3C)
ИМЯ
getgrent, getgrgid, getgrnam, setgrent, endgrent, fgetgrent -
получить доступ к файлу групп
ИСПОЛЬЗОВАНИЕ
#include <grp.h>
struct group *getgrent (void);
struct group *getgrgid (gid_t gid);
struct group *getgrnam (char *name);
void setgrent (void);
void endgrent (void);
struct group *fgetgrent (FILE *f);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на структуру
неуспех - NULL-указатель