2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
|
|
|
|
.\" Distributed under GPL
|
|
|
|
.\" based on glibc infopages
|
|
|
|
.\" polished - aeb
|
2007-07-08 12:11:40 +00:00
|
|
|
.TH SETNETGRENT 3 2007-07-26 "GNU" "Linux Programmer's Manual"
|
2007-04-12 22:42:49 +00:00
|
|
|
.SH NAME
|
2004-11-03 13:51:07 +00:00
|
|
|
setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \-
|
|
|
|
handle network group entries
|
|
|
|
.SH SYNOPSIS
|
2007-12-19 06:57:44 +00:00
|
|
|
.nf
|
2004-11-03 13:51:07 +00:00
|
|
|
.B #include <netdb.h>
|
2007-12-19 06:57:44 +00:00
|
|
|
|
2004-11-03 13:51:07 +00:00
|
|
|
.BI "int setnetgrent(const char *" netgroup );
|
2007-12-19 06:57:44 +00:00
|
|
|
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "void endnetgrent(void);"
|
2007-12-19 06:57:44 +00:00
|
|
|
|
2004-11-03 13:51:07 +00:00
|
|
|
.BI "int getnetgrent(char **" host ", char **" user ", char **" domain );
|
2007-12-19 06:57:44 +00:00
|
|
|
|
2004-11-03 13:51:07 +00:00
|
|
|
.BI "int getnetgrent_r(char **" host ", char **" user ","
|
2007-12-19 06:57:44 +00:00
|
|
|
.BI " char **" domain ", char *" buf ", int " buflen );
|
|
|
|
|
2004-11-03 13:51:07 +00:00
|
|
|
.BI "int innetgr(const char *" netgroup ", const char *" host ","
|
2007-12-19 06:57:44 +00:00
|
|
|
.BI " const char *" user ", const char *" domain );
|
|
|
|
.fi
|
2007-07-08 12:11:40 +00:00
|
|
|
.sp
|
|
|
|
.in -4n
|
|
|
|
Feature Test Macro Requirements for glibc (see
|
|
|
|
.BR feature_test_macros (7)):
|
|
|
|
.in
|
|
|
|
.sp
|
|
|
|
.ad l
|
|
|
|
.BR setnetgrent (),
|
|
|
|
.BR endnetgrent (),
|
|
|
|
.BR getnetgrent (),
|
|
|
|
.BR getnetgrent_r (),
|
|
|
|
.BR innetgr ():
|
|
|
|
_BSD_SOURCE || _SVID_SOURCE
|
|
|
|
.ad b
|
2007-04-12 22:42:49 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
2007-06-23 07:56:56 +00:00
|
|
|
.I netgroup
|
2007-04-12 22:42:49 +00:00
|
|
|
is a SunOS invention.
|
|
|
|
A netgroup database is a list of string triples
|
2007-08-27 08:36:21 +00:00
|
|
|
.RI ( hostname ", " username ", " domainname )
|
2007-04-12 22:42:49 +00:00
|
|
|
or other netgroup names.
|
|
|
|
Any of the elements in a triple can be empty,
|
2004-11-03 13:51:07 +00:00
|
|
|
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
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR setnetgrent ()
|
2004-11-03 13:51:07 +00:00
|
|
|
call defines the netgroup that will be searched by subsequent
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR getnetgrent ()
|
2007-04-12 22:42:49 +00:00
|
|
|
calls.
|
|
|
|
The
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR getnetgrent ()
|
2004-11-03 13:51:07 +00:00
|
|
|
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
|
2007-06-02 05:49:27 +00:00
|
|
|
netgroup-related functions.
|
2004-11-03 13:51:07 +00:00
|
|
|
To avoid this problem you can use the GNU function
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR getnetgrent_r ()
|
2004-11-03 13:51:07 +00:00
|
|
|
that stores the strings in the supplied buffer.
|
|
|
|
To free all allocated buffers use
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR endnetgrent ().
|
2004-11-03 13:51:07 +00:00
|
|
|
.PP
|
|
|
|
In most cases you only want to check if the triplet
|
2007-08-27 08:36:21 +00:00
|
|
|
.RI ( hostname ", " username ", " domainname )
|
2007-04-12 22:42:49 +00:00
|
|
|
is a member of a netgroup.
|
|
|
|
The function
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR innetgr ()
|
2004-11-03 13:51:07 +00:00
|
|
|
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.
|
2007-05-19 04:30:20 +00:00
|
|
|
.SH "RETURN VALUE"
|
|
|
|
These functions return 1 on success and 0 for failure.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH FILES
|
|
|
|
.I /etc/netgroup
|
|
|
|
.br
|
|
|
|
.I /etc/nsswitch.conf
|
2007-06-16 07:59:31 +00:00
|
|
|
.SH CONFORMING TO
|
|
|
|
These functions are not in POSIX.1-2001, but
|
|
|
|
.BR setnetgrent (),
|
|
|
|
.BR endnetgrent (),
|
|
|
|
.BR getnetgrent (),
|
|
|
|
and
|
|
|
|
.BR innetgr ()
|
intro.1, time.1, accept.2, bind.2, connect.2, execve.2, flock.2, getdents.2, getpriority.2, getuid.2, intro.2, ioctl.2, mincore.2, mknod.2, personality.2, ptrace.2, read.2, recv.2, select_tut.2, send.2, sendfile.2, shmctl.2, sigaction.2, signal.2, stat.2, times.2, truncate.2, umask.2, wait.2, MB_CUR_MAX.3, MB_LEN_MAX.3, argz_add.3, btowc.3, clearenv.3, clock.3, cmsg.3, end.3, endian.3, errno.3, exit.3, fgetwc.3, fgetws.3, fopen.3, fputwc.3, fputws.3, fseek.3, fwide.3, getfsent.3, getgrnam.3, gethostid.3, getipnodebyname.3, getmntent.3, getpwnam.3, getwchar.3, grantpt.3, iconv.3, iconv_close.3, iconv_open.3, insque.3, intro.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, malloc.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mkstemp.3, mktemp.3, nl_langinfo.3, openpty.3, posix_openpt.3, printf.3, ptsname.3, putwchar.3, qecvt.3, rcmd.3, readdir.3, rexec.3, rpc.3, setnetgrent.3, shm_open.3, sigpause.3, stdin.3, stpcpy.3, strftime.3, strptime.3, syslog.3, towctrans.3, towlower.3, towupper.3, ttyslot.3, ungetwc.3, unlocked_stdio.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wprintf.3, console_ioctl.4, pts.4, elf.5, filesystems.5, hosts.5, proc.5, ttytype.5, boot.7, capabilities.7, credentials.7, epoll.7, glob.7, koi8-r.7, path_resolution.7, pty.7, signal.7, suffixes.7, time.7, unicode.7, unix.7, uri.7, utf-8.7: global fix: s/Unix/UNIX/
The man pages were rather inconsistent in the use of "Unix"
versus "UNIX". Let's go with the trademark usage.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-12 04:45:38 +00:00
|
|
|
are available on most UNIX systems.
|
2007-06-16 07:59:31 +00:00
|
|
|
.BR getnetgrent_r ()
|
|
|
|
is not widely available on other systems.
|
|
|
|
.\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NOTES
|
|
|
|
In the BSD implementation,
|
2005-10-19 07:07:02 +00:00
|
|
|
.BR setnetgrent ()
|
2004-11-03 13:51:07 +00:00
|
|
|
returns void.
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR sethostent (3),
|
2008-07-14 15:52:21 +00:00
|
|
|
.BR setprotoent (3),
|
|
|
|
.BR setservent (3)
|