[<<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-указатель