summaryrefslogtreecommitdiffstats
path: root/man3/setnetgrent.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/setnetgrent.3')
-rw-r--r--man3/setnetgrent.378
1 files changed, 78 insertions, 0 deletions
diff --git a/man3/setnetgrent.3 b/man3/setnetgrent.3
new file mode 100644
index 000000000..2739b63ce
--- /dev/null
+++ b/man3/setnetgrent.3
@@ -0,0 +1,78 @@
+.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
+.\" Distributed under GPL
+.\" based on glibc infopages
+.\" polished - aeb
+.TH SETNETGRENT 3 2002-08-20 "GNU" "Linux Programmer's Manual"
+.SH NAME
+setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \-
+handle network group entries
+.SH SYNOPSIS
+.B #include <netdb.h>
+.sp
+.BI "int setnetgrent(const char *" netgroup );
+.br
+.BI "void endnetgrent(void);"
+.br
+.BI "int getnetgrent(char **" host ", char **" user ", char **" domain );
+.sp
+.BI "int getnetgrent_r(char **" host ", char **" user ","
+.in +18
+.BI "char **" domain ", char *" buf ", int " buflen );
+.in -18
+.sp
+.BI "int innetgr(const char *" netgroup ", const char *" host ","
+.in +12
+.BI "const char *" user ", const char *" domain );
+.in -12
+.SH DESCRIPTION
+The
+.B netgroup
+is a SunOS invention. A netgroup database is a list of string triples
+.BR (hostname "," username "," domainname)
+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
+.I /etc/nsswitch.conf
+defines what database is searched.
+.PP
+The
+.B setnetgrent()
+call defines the netgroup that will be searched by subsequent
+.B getnetgrent()
+calls. The
+.B getnetgrent()
+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.
+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
+.B getnetgrent_r()
+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
+.BR (hostname "," username "," domainname)
+is a member of a netgroup. The function
+.B innetgr()
+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.
+.SH FILES
+.I /etc/netgroup
+.br
+.I /etc/nsswitch.conf
+.SH "RETURN VALUES"
+These functions return 1 on success and 0 for failure.
+.SH NOTES
+In the BSD implementation,
+.B setnetgrent()
+returns void.
+.SH "SEE ALSO"
+.BR sethostent (3),
+.BR setservent (3),
+.BR setprotoent (3)