NAME

     getgrent, setgrent, endgrent - get group file entry


SYNOPSIS

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

     struct group *getgrent(void);

     void setgrent(void);

     void endgrent(void);


DESCRIPTION

     The getgrent() function returns a  pointer  to  a  structure
     containing the group information from /etc/group.  The first
     time it is called it returns the first entry; thereafter, it
     returns successive entries.

     The setgrent() function rewinds  the  file  pointer  to  the
     beginning of the /etc/group file.

     The endgrent() function closes the /etc/group file.

     The group structure is defined in <grp.h> as follows:

          struct group {
                  char    *gr_name;        /* group name */
                  char    *gr_passwd;      /* group password */
                  gid_t   gr_gid;          /* group id */
                  char    **gr_mem;        /* group members */
          };


RETURN VALUE

     The getgrent() function returns the group information struc-
     ture,  or  NULL  if  there  are  no more entries or an error
     occurs.


ERRORS

     ENOMEM
          Insufficient  memory  to  allocate  group   information
          structure.


FILES

     /etc/group
           group database file


CONFORMING TO

     SVID 3, BSD 4.3


SEE ALSO

     fgetgrent(3), getgrnam(3), getgrgid(3)