]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/setnetgrent.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[thirdparty/man-pages.git] / man3 / setnetgrent.3
index 82f8ed679a451e8d8219163c8e06caec95ff7521..b6693dddf2bba562add1a4b8f29ff9e6fad5a2ee 100644 (file)
@@ -1,42 +1,48 @@
 .\"  Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
-.\"  Distributed under GPL
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
+.\" Distributed under GPL
+.\" %%%LICENSE_END
+.\"
 .\"  based on glibc infopages
 .\" polished - aeb
-.TH SETNETGRENT 3 2007-07-26 "GNU" "Linux Programmer's Manual"
+.\"
+.TH SETNETGRENT 3 2017-09-15 "GNU" "Linux Programmer's Manual"
 .SH NAME
 setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \-
 handle network group entries
 .SH SYNOPSIS
+.nf
 .B #include <netdb.h>
-.sp
+.PP
 .BI "int setnetgrent(const char *" netgroup );
-.br
-.BI "void endnetgrent(void);"
-.br
+.PP
+.B "void endnetgrent(void);"
+.PP
 .BI "int getnetgrent(char **" host ", char **" user ", char **" domain );
-.sp
+.PP
 .BI "int getnetgrent_r(char **" host ", char **" user ","
-.in +18
-.BI "char **" domain ", char *" buf ", int " buflen );
-.in -18
-.sp
+.BI "                  char **" domain ", char *" buf ", size_t " buflen );
+.PP
 .BI "int innetgr(const char *" netgroup ", const char *" host ","
-.in +12
-.BI "const char *" user ", const char *" domain );
-.in -12
-.sp
+.BI "            const char *" user ", const char *" domain );
+.fi
+.PP
 .in -4n
 Feature Test Macro Requirements for glibc (see
 .BR feature_test_macros (7)):
 .in
-.sp
+.PP
 .ad l
 .BR setnetgrent (),
 .BR endnetgrent (),
 .BR getnetgrent (),
 .BR getnetgrent_r (),
 .BR innetgr ():
-_BSD_SOURCE || _SVID_SOURCE
+    Since glibc 2.19:
+        _DEFAULT_SOURCE
+    Glibc 2.19 and earlier:
+        _BSD_SOURCE || _SVID_SOURCE
 .ad b
 .SH DESCRIPTION
 The
@@ -63,7 +69,7 @@ function retrieves the next netgroup entry, and returns pointers in
 .IR host ,
 .IR user ,
 .IR domain .
-A NULL pointer means that the corresponding entry matches any string.
+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
@@ -72,28 +78,72 @@ that stores the strings in the supplied buffer.
 To free all allocated buffers use
 .BR endnetgrent ().
 .PP
-In most cases you only want to check if the triplet
+In most cases you want to check only if the triplet
 .RI ( hostname ", " username ", " domainname )
 is a member of a netgroup.
 The function
 .BR innetgr ()
 can be used for this without calling the above three functions.
-Again, a NULL pointer is a wildcard and matches any string.
+Again, a null pointer is a wildcard and matches any string.
 The function is thread-safe.
-.SH "RETURN VALUE"
+.SH RETURN VALUE
 These functions return 1 on success and 0 for failure.
 .SH FILES
 .I /etc/netgroup
 .br
 .I /etc/nsswitch.conf
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw16 lb lbw23
+l l l.
+Interface      Attribute       Value
+T{
+.BR setnetgrent (),
+.br
+.BR getnetgrent_r (),
+.br
+.BR innetgr ()
+T}     Thread safety   T{
+MT-Unsafe race:netgrent
+.br
+locale
+T}
+T{
+.BR endnetgrent ()
+T}     Thread safety   MT-Unsafe race:netgrent
+T{
+.BR getnetgrent ()
+T}     Thread safety   T{
+MT-Unsafe race:netgrent
+.br
+race:netgrentbuf locale
+T}
+.TE
+.sp 1
+In the above table,
+.I netgrent
+in
+.I race:netgrent
+signifies that if any of the functions
+.BR setnetgrent (),
+.BR getnetgrent_r (),
+.BR innetgr (),
+.BR getnetgrent (),
+or
+.BR endnetgrent ()
+are used in parallel in different threads of a program,
+then data races could occur.
 .SH CONFORMING TO
-These functions are not in POSIX.1-2001, but
+These functions are not in POSIX.1, but
 .BR setnetgrent (),
 .BR endnetgrent (),
 .BR getnetgrent (),
 and
 .BR innetgr ()
-are available on most Unix systems.
+are available on most UNIX systems.
 .BR getnetgrent_r ()
 is not widely available on other systems.
 .\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
@@ -101,7 +151,7 @@ is not widely available on other systems.
 In the BSD implementation,
 .BR setnetgrent ()
 returns void.
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR sethostent (3),
-.BR setservent (3),
-.BR setprotoent (3)
+.BR setprotoent (3),
+.BR setservent (3)