getnetgrent(3C)getnetgrent(3C)NAMEgetnetgrent(), setnetgrent(), endnetgrent(), innetgr(), - get network
These functions are used to test membership in and enumerate members of
``netgroup'' network groups defined in a system database. Netgroups
are sets of (machine,user,domain) triples (see netgroup(4)).
These functions consult the source specified for in the file (see nss‐
The function returns if there is a netgroup netgroup that contains the
specified machine, user, domain triple as a member; otherwise it
returns Any of the supplied pointers machine, user, and domain may be
signifying a ``wild card'' that matches all values in that position of
The function is safe for use in multithreaded applications.
The functions and are used to enumerate the members of a given network
The function establishes the network group specified in the parameter
netgroup as the current group whose members are to be enumerated.
Successive calls to the function will enumerate the members of the
group established by calling each call returns 1 if it succeeds in
obtaining another member of the network group, or 0 if there are no
further members of the group.
When calling addresses of the three character pointers are used as
Upon successful return from the pointer mp points to a thread specific
storage area containing the name of the machine part of the member
triple, up points to a thread specific storage area containing the user
name and dp points to a thread specific storage area containing the
domain name. If the pointer returned for mp, up, or dp is it signifies
that the element of the netgroup contains wild card specifier in that
position of the triple.
The storage allocated by is released when an call is made, and should
not be released by the caller.
The function frees the space allocated by the previous call. The
equivalent of an implicitly performed whenever a call is made to a new
Note that while and are safe for use in multi-threaded applications,
the effect of each is process-wide. Calling resets the enumeration
position for all threads. If multiple threads interleave calls to each
will enumerate a disjoint subset of the netgroup. Thus the effective
use of these functions in multi-threaded applications may require coor‐
dination by the caller.
Thread Safe: Yes
Cancel Safe: Yes
Fork Safe: No
Async-cancel Safe: No
Async-signal Safe: No
These functions can be called safely in a multithreaded environment.
They may be cancellation points in that they call functions that are
In a multithreaded environment, these functions are not safe to be
called by a child process after and before These functions should not
be called by a multithreaded application that support asynchronous can‐
cellation or asynchronous signals.
Programs that use the interfaces described in this manual page cannot
be linked statically since the implementations of these functions
employ dynamic loading and linking of shared objects at run time.
FILESSEE ALSOnetgroup(4), nsswitch.conf(4).