getnetgrent, innetgr, setnetgrent, endnetgrent - netgroup
database operations
#include <netgroup.h>
int
getnetgrent(const char **host, const char **user, const char
**domain);
int
innetgr(const char *netgroup, const char *host, const char
*user,
const char *domain);
void
setnetgrent(const char *netgroup);
void
endnetgrent(void);
These functions operate on the netgroup database file
/etc/netgroup.db
which is described in netgroup(5). If that file does not
exist, and the
system supports YP, then the netgroup YP databases are used
instead. The
database defines a set of netgroups, each made up of one or
more triples:
(host, user, domain)
that defines a combination of host, user, and domain. Any
of the three
fields may be specified as ``wildcards'' that match any
string.
The function getnetgrent() sets the three pointer arguments
to the
strings of the next member of the current netgroup. If any
of the string
pointers are (char *)0, those fields are considered wildcards.
The functions setnetgrent() and endnetgrent() set the current netgroup
and terminate the current netgroup respectively. If
setnetgrent() is
called with a different netgroup than the previous call, an
implicit
endnetgrent() is implied. setnetgrent() also sets the offset to the
first member of the netgroup.
The function innetgr() searches for a match of all fields
within the
specified group. If any of the host, user, or domain arguments are (char
*)0, those fields will match any string value in the netgroup member.
The function getnetgrent() returns 0 for ``no more netgroup
members'' or
1 otherwise. The function innetgr() returns 1 for a successful match or
0 otherwise. The functions setnetgrent() and endnetgrent()
have no return
value.
/etc/netgroup.db netgroup database file
netgroup(5)
The function getnetgrent() returns pointers to dynamically
allocated data
areas that are free(3)'d when the function endnetgrent() is
called.
OpenBSD 3.6 July 8, 1997
[ Back ] |