GETGRENT(3C-SysV) RISC/os Reference Manual GETGRENT(3C-SysV)
NAME
getgrent, getgrgid, getgrnam, setgrent, endgrent, fgetgrent
- get group file entry
SYNOPSIS
#include <bsd/sys/types.h>
#include <grp.h>
struct group *getgrent ( )
struct group *getgrgid (gid)
int gid;
struct group *getgrnam (name)
char *name;
void setgrent ( )
void endgrent ( )
struct group *fgetgrent (f)
FILE *f;
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 /etc/group file. Each line con-
tains a ``group'' structure, defined in the <grp.h> header
file.
struct group { char *gr_name;/* the
name of the group */ char *gr_passwd;/*
the encrypted group password */
int gr_gid;/* the numerical group ID
*/ char **gr_mem;/* vector of pointers
to member names */ };
getgrent when first called returns a pointer to the first
group structure in the file; thereafter, it returns a
pointer to the next group structure in the file; so, succes-
sive calls may be used to search the entire file. getgrgid
searches from the beginning of the file until a numerical
group id matching gid is found and returns a pointer to the
particular structure in which it was found. getgrnam
searches from the beginning of the file until a group name
matching name is found and returns a pointer to the particu-
lar structure in which it was found. If an end-of-file or
an error is encountered on reading, these functions return a
NULL pointer.
A call to setgrent has the effect of rewinding the group
file to allow repeated searches. endgrent may be called to
Printed 1/15/91 Page 1
GETGRENT(3C-SysV) RISC/os Reference Manual GETGRENT(3C-SysV)
close the group file when processing is complete.
fgetgrent returns a pointer to the next group structure in
the stream f, which matches the format of /etc/group.
FILES
/etc/group
SEE ALSO
getlogin(3C), getpwent(3C), group(4).
DIAGNOSTICS
A NULL pointer is returned on EOF or error.
WARNING
The above routines use <stdio.h>, which causes them to
increase the size of programs, not otherwise using standard
I/O, more than might be expected.
CAVEAT
All information is contained in a static area, so it must be
copied if it is to be saved.
Page 2 Printed 1/15/91