GETNETGRENT(3)

GETNETGRENT(3) | Library Functions Manual | GETNETGRENT(3)

# NAME

getnetgrent, innetgr, setnetgrent, endnetgrent — netgroup database operations

# LIBRARY

Standard C Library (libc, -lc)

# 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 which is described in netgroup(5).
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` that field is considered a wildcard.
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'' and 1 otherwise. The function innetgr() returns 1 for a successful match and 0 otherwise. The functions setnetgrent() and endnetgrent() have no return value.

# FILES

/etc/netgroup
  netgroup database file

# SEE ALSO

netgroup(5), nsswitch.conf(5)

# BUGS

The function getnetgrent() returns pointers to dynamically allocated data areas that are free'd when the function endnetgrent() is called.

January 16, 1999 | NetBSD 8.0