GETGRENT(3C)
NAME
getgrent, getgrgid, getgrnam, setgrent, endgrent, fgetgrent − get group file entry
SYNOPSIS
#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;
HP-UX COMPATIBILITY
Level: HP-UX/NUCLEUS
Origin: System V
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 contains a “group” structure, defined in the <grp.h> header file.
structgroup {
char∗gr_name;/∗ the name of the group ∗/
char∗gr_passwd;/∗ the encrypted group password ∗/
intgr_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, successive 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 particular 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 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(5).
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.
BUGS
All information is contained in a static area, so it must be copied if it is to be saved.
Hewlett-Packard — last mod. May 11, 2021