setnetgrent, endnetgrent, getnetgrent, getnetgrent_r,
innetgr − handle network group entries


     );int setnetgrent(const char *netgroup

     void endnetgrent(void);

     , char **int getnetgrent(char **host

     , char **int getnetgrent_r(char **host , char *
char **domain

     , const char *int innetgr(const char *netgroup , const
char *            const char *user

Feature Test Macro Requirements for glibc (see

         Since glibc 2.19:
    Glibc 2.19 and earlier:

The netgroup is a SunOS invention.  A netgroup database is a
list of string triples or other netgroup names.  Any of the
elements in a triple can be empty, which means that anything
matches.  The functions described here allow access to the
netgroup databases.  The file /etc/nsswitch.conf defines
what database is searched.

     The call defines the netgroup that will be searched by
subsequent calls.  The function retrieves the next netgroup
entry, and returns pointers in A null pointer means that the
corresponding entry matches any string.  The pointers are
valid only as long as there is no call to other netgroup‐
related functions.  To avoid this problem you can use the
GNU function that stores the strings in the supplied buffer.
To free all allocated buffers use

     In most cases you want to check only if the triplet is
a member of a netgroup.  The function can be used for this
without calling the above three functions.  Again, a null
pointer is a wildcard and matches any string.  The function
is thread‐safe.

These functions return 1 on success and 0 for failure.



For an explanation of the terms used in this section, see

│Interface        Attribute     Value                   │
│                 │ Thread safety MT‐Unsafe race:netgrent │
│                 │               │ locale                  │
│                 │ Thread safety MT‐Unsafe race:netgrent │
│                 │ Thread safety MT‐Unsafe race:netgrent │
│                 │               │ race:netgrentbuf locale │

In the above table, netgrent in race:netgrent signifies that
if any of the functions or are used in parallel in different
threads of a program, then data races could occur.

These functions are not in POSIX.1, but and are available on
most UNIX systems.  is not widely available on other

In the BSD implementation, returns void.

This page is part of release 5.07 of the Linux man‐pages
project.  A description of the project, information about
reporting bugs, and the latest version of this page, can be
found at−pages/.