getgrent

GETGRENT(3)     Ð ÑководÑÑво пÑогÑаммиÑÑа Linux     GETGRENT(3)



ÐÐЯ
       getgrent, setgrent, endgrent - возвÑаÑÐ°ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¸Ð·
       Ñайла гÑÑпп

ÐÐÐÐÐ
       #include <sys/types.h>
       #include <grp.h>

       struct group *getgrent(void);

       void setgrent(void);

       void endgrent(void);

   ТÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÐºÑоÑа ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑÑв Ð´Ð»Ñ glibc
   (Ñм. feature_test_macros(7)):

       setgrent():
           _XOPEN_SOURCE >= 500
               || /* наÑÐ¸Ð½Ð°Ñ Ñ glibc 2.19: */ _DEFAULT_SOURCE
               || /* веÑÑии gibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

       getgrent(), endgrent():
           _XOPEN_SOURCE >= 500
               || /* наÑÐ¸Ð½Ð°Ñ Ñ glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
               || /* в веÑÑии glibc <= 2.19: */ _BSD_SOURCE ||
           _SVID_SOURCE

ÐÐÐСÐÐÐÐ
       ФÑнкÑÐ¸Ñ getgrent() возвÑаÑÐ°ÐµÑ ÑказаÑÐµÐ»Ñ Ð½Ð°
       ÑÑÑÑкÑÑÑÑ, ÑодеÑжаÑÑÑ ÑазделÑннÑÑ Ð½Ð° Ð¿Ð¾Ð»Ñ Ð·Ð°Ð¿Ð¸ÑÑ
       Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð³ÑÑпп (напÑимеÑ, локалÑного
       Ñайла гÑÑпп /etc/group, NIS и LDAP). ÐÑи пеÑвом
       вÑзове getgrent() возвÑаÑÐ°ÐµÑ Ð¿ÐµÑвÑÑ Ð·Ð°Ð¿Ð¸ÑÑ; пÑи
       ÑледÑÑÑÐ¸Ñ Ð¿Ð¾ÑледоваÑелÑно возвÑаÑаÑÑÑÑ
       оÑÑалÑнÑе запиÑи.

       ФÑнкÑÐ¸Ñ setgrent() возвÑаÑаеÑÑÑ Ðº наÑÐ°Ð»Ñ Ð±Ð°Ð·Ñ
       даннÑÑ Ð³ÑÑпп, позволÑÑ Ð²ÑполнÑÑÑ Ð¿Ð¾Ð²ÑоÑное
       ÑканиÑование.

       ФÑнкÑÐ¸Ñ endgrent() иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°ÐºÑÑÑÐ¸Ñ Ð±Ð°Ð·Ñ
       даннÑÑ Ð³ÑÑпп пÑи завеÑÑении пÑоÑеÑÑа
       обÑабоÑки.

       СÑÑÑкÑÑÑа group опÑеделена в <grp.h> ÑледÑÑÑим
       обÑазом:

           struct group {
               char   *gr_name;        /* Ð¸Ð¼Ñ Ð³ÑÑÐ¿Ð¿Ñ */
               char   *gr_passwd;      /* паÑÐ¾Ð»Ñ Ð³ÑÑÐ¿Ð¿Ñ */
               gid_t   gr_gid;         /* ID гÑÑÐ¿Ð¿Ñ */
               char  **gr_mem;         /* маÑÑив, ÑказаÑелей
                                          имÑн Ñленов гÑÑппÑ, оканÑиваÑÑийÑÑ NULL */
           };

       ÐодÑобней о полÑÑ ÑÑой ÑÑÑÑкÑÑÑÑ ÑмоÑÑиÑе в
       group(5).

ÐÐÐÐÐ ÐЩÐÐÐÐÐ ÐÐÐЧÐÐÐÐ
       ФÑнкÑÐ¸Ñ getgrent() возвÑаÑÐ°ÐµÑ ÑказаÑÐµÐ»Ñ Ð½Ð°
       ÑÑÑÑкÑÑÑÑ group или NULL, еÑли запиÑи законÑилиÑÑ
       или пÑоизоÑла оÑибка.

       ÐÑи оÑибке Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ Ð·Ð½Ð°Ñение errno.
       ÐÑли нÑжно пÑовеÑÑÑÑ Ð¿ÐµÑеменнÑÑ errno поÑле
       вÑзова, Ñо пеÑед ÑÑим нÑжно пÑиÑвоиÑÑ ÐµÐ¹
       нÑлевое знаÑение.

       ÐозвÑаÑаемое знаÑение Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑ Ð½Ð°
       ÑÑаÑиÑеÑкÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑезапиÑано
       пÑи поÑледÑÑÑÐ¸Ñ Ð²ÑÐ·Ð¾Ð²Ð°Ñ getgrent(), getgrgid(3) или
       getgrnam(3) (не пеÑедавайÑе полÑÑеннÑй
       ÑказаÑÐµÐ»Ñ free(3)).

ÐШÐÐÐÐ
       EAGAIN СлÑжба вÑеменно недоÑÑÑпна; попÑобÑйÑе
              позднее. ÐÐ»Ñ NSS из glibc ÑÑо ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              вÑеменнÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð¾Ð±Ð¼ÐµÐ½Ð° Ñ ÑеÑвеÑом.
              ÐÑибка Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑÑезнÑÑÑ ÑамоÑÑоÑÑелÑно,
              пÑедлагаеÑÑÑ Ð¿Ð¾Ð¿ÑобоваÑÑ Ð¿Ð¾Ð²ÑоÑиÑÑ
              вÑзов позднее.

       EINTR  ÐоÑÑÑпил Ñигнал; ÑмоÑÑиÑе signal(7).

       EIO    ÐÑибка ввода-вÑвода.

       EMFILE ÐÑло доÑÑигнÑÑо огÑаниÑение по
              колиÑеÑÑÐ²Ñ Ð¾ÑкÑÑÑÑÑ ÑайловÑÑ Ð´ÐµÑкÑипÑоÑов
              на пÑоÑеÑÑ.

       ENFILE ÐоÑÑигнÑÑо макÑималÑное колиÑеÑÑво
              оÑкÑÑÑÑÑ Ñайлов в ÑиÑÑеме.

       ENOENT ÐеобÑодимÑй вÑодной Ñайл не найден.
              ÐÐ»Ñ NSS в glibc ÑÑо ÑказÑÐ²Ð°ÐµÑ Ð½Ð° Ñо, ÑÑо ÑлÑжба
              некоÑÑекÑно наÑÑÑоена.

       ENOMEM ÐедоÑÑаÑоÑно памÑÑи Ð´Ð»Ñ ÑÑÑÑкÑÑÑÑ group.

       ERANGE ÐедоÑÑаÑоÑно меÑÑа в бÑÑеÑе.

ФÐÐÐЫ
       /etc/group
              локалÑнÑй Ñайл Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð³ÑÑпп

ÐТРÐÐУТЫ
       ÐпиÑание ÑеÑминов данного Ñаздела ÑмоÑÑиÑе
       в attributes(7).

       ┌──────────────┬────────────────────────────────┬─────────────────────────────┐
       │ÐнÑеÑÑÐµÐ¹Ñ ÐÑÑибÑÑ                      ÐнаÑение              │
       ├──────────────┼────────────────────────────────┼─────────────────────────────┤
       │getgrent()    │ ÐезвÑедноÑÑÑ Ð² ниÑÑÑ │ MT-Unsafe race:grent        │
       │              │                                │ race:grentbuf Ð»Ð¾ÐºÐ°Ð»Ñ   │
       ├──────────────┼────────────────────────────────┼─────────────────────────────┤
       │setgrent(),   │ ÐезвÑедноÑÑÑ Ð² ниÑÑÑ │ MT-Unsafe race:grent locale │
       │endgrent()    │                                │                             │
       └──────────────┴────────────────────────────────┴─────────────────────────────┘
       РпÑиведÑнной вÑÑе ÑаблиÑе grent в race:grent
       ознаÑаеÑ, ÑÑо еÑли в неÑколÑÐºÐ¸Ñ Ð½Ð¸ÑÑÑ
       пÑогÑÐ°Ð¼Ð¼Ñ Ð¾Ð´Ð½Ð¾Ð²Ñеменно иÑполÑзÑÑÑÑÑ ÑÑнкÑии
       setgrent(), getgrent() или endgrent(), Ñо можеÑ
       возникнÑÑÑ ÑоÑÑÑзаÑелÑноÑÑÑ Ð¿Ð¾ даннÑм.

СÐÐТÐÐТСТÐÐРСТÐÐÐÐРТÐÐ
       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

СÐÐТРÐТРТÐÐÐÐ
       fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3),
       putgrent(3), group(5)



                                  2016-03-15                       GETGRENT(3)