GETNETGRENT(3) OpenBSD Programmer's Manual GETNETGRENT(3)NAME
getnetgrent, innetgr, setnetgrent, endnetgrent - netgroup database
operations
SYNOPSIS
#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);
DESCRIPTION
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 NULL, 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 NULL,
those fields will match any string value in the netgroup member.
RETURN VALUES
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.
FILES
/etc/netgroup.db netgroup database file
SEE ALSOnetgroup(5)BUGS
The function getnetgrent() returns pointers to dynamically allocated data
areas that are free(3)'d when the function endnetgrent() is called.
OpenBSD 4.9 May 31, 2007 OpenBSD 4.9