diff options
Diffstat (limited to 'man3/setnetgrent.3')
-rw-r--r-- | man3/setnetgrent.3 | 78 |
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) |