Testing for Netgroup Membership
-------------------------------
It is often not necessary to scan the whole netgroup since often the
only interesting question is whether a given entry is part of the
selected netgroup.
- Function: int innetgr (const char *NETGROUP, const char *HOST, const
char *USER, const char *DOMAIN)
This function tests whether the triple specified by the parameters
HOSTP, USERP, and DOMAINP is part of the netgroup NETGROUP. Using
this function has the advantage that
1. no other netgroup function can use the global netgroup state
since internal locking is used and
2. the function is implemented more efficiently than successive
calls to the other `set'/`get'/`endnetgrent' functions.
Any of the pointers HOSTP, USERP, and DOMAINP can be `NULL' which
means any value is accepted in this position. This is also true
for the name `-' which should not match any other string otherwise.
The return value is `1' if an entry matching the given triple is
found in the netgroup. The return value is `0' if the netgroup
itself is not found, the netgroup does not contain the triple or
internal errors occurred.