NAME
getgrent, getgrgid, getgrnam, setgrent, endgrent setgrfile -
get
group file entry
SYNOPSIS
#include <grp.h>
struct group *getgrent()
struct group *getgrgid(gid)
gid_t gid;
struct group *getgrnam(name)
const char *name;
int setgrent()
void endgrent()
void setgrfile(name)
const char *name;
DESCRIPTION
Getgrent, getgrgid and getgrnam each return pointers to an
object
with the following structure containing the broken-out
fields of a
line in the group file.
struct group { /* see
getgrent(3) */
char *gr_name;
char *gr_passwd;
int gr_gid;
char **gr_mem;
};
struct group *getgrent(), *getgrgid(), *getgrnam();
The members of this structure are:
gr_name The name of the group.
gr_passwd The encrypted password of the group.
gr_gid The numerical group-ID.
gr_mem Null-terminated vector of pointers to the individual
member names.
Getgrent simply reads the next
line while getgrgid and getgrnam
search until a matching gid or name is found (or until EOF
is
encountered). Each routine picks up where the others leave
off so
successive calls may be used to search the entire file.
A call to setgrent has the
effect of rewinding the group file to
allow repeated searches. Endgrent may be called to close the
group
file when processing is complete.
Setgrfile changes the default
group file to name thus allowing
alternate group files to be used. Note that it does not
close the
previous file. If this is desired, endgrent should be called
prior
to it.
FILES
/etc/group
SEE ALSO
getlogin(3), getpwent(3), group(5)
DIAGNOSTICS
A null pointer (0) is returned on EOF or error.
BUGS
All information is contained in a static area so it must be
copied
if it is to be saved.