Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getlogin(3)

getpwent(3)

group(5)

ypserv(8)

GETGRENT(3)  —  UNIX Programmer’s Manual

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;

setgrent()

endgrent()

struct group ∗fgetgrent()
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 group file. 

/∗
 ∗ $Header: /smsa/bsd:include/grp.h:bsd  1.6  $
 ∗ $Source: /smsa/bsd:include/grp.h: $
 ∗
 ∗ Copyright (c) 1988 Acorn Computers Ltd., Cambridge, England
 ∗/
/∗grp.h4.183/05/03∗/
 #ifndef __grp_h
#define __grp_h
 #ifndef __sys_types_h
#include "sys/types.h"
#endif
 structgroup { /∗ see getgrent(3) ∗/
char∗gr_name;
char∗gr_passwd;
gid_tgr_gid;
char∗∗gr_mem;
};
 extern struct group ∗getgrent(void);
#if 0
extern struct group ∗getgrgid();
#else
extern struct group ∗getgrgid(gid_t /∗gid∗/);
#endif
extern struct group ∗getgrnam(char ∗ /∗name∗/);
 #endif

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. 

Fgetgrent returns a pointer to the next group structure in the stream f, which must refer to an open file in the same format as the group file /etc/group. 

FILES

/etc/group

SEE ALSO

getlogin(3), getpwent(3), group(5), ypserv(8)

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. 

7th Edition  —  Revision 1.4 of 01/07/90

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026