]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/getdomainname.2
fuse.4: ffix
[thirdparty/man-pages.git] / man2 / getdomainname.2
index 52708bd74a258f0307e3e8bcb1bee0b766385e94..228eab81a90a418264d575b4bda7a2a07d0d2c73 100644 (file)
@@ -1,7 +1,6 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
 .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -10,7 +9,7 @@
 .\" manual under the conditions for verbatim copying, provided that the
 .\" entire resulting derived work is distributed under the terms of a
 .\" permission notice identical to this one.
-.\" 
+.\"
 .\" Since the Linux kernel and libraries are constantly changing, this
 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
 .\" responsibility for errors or omissions, or for damages resulting from
 .\" have taken the same level of care in the production of this manual,
 .\" which is licensed free of charge, as they might when working
 .\" professionally.
-.\" 
+.\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
-.\" Modified 1997-08-25 by Nicolás Lichtmaier <nick@debian.org>
-.\" Modified 2004-06-17 by Michael Kerrisk <mtk-manpages@gmx.net>
+.\" Modified 1997-08-25 by Nicolás Lichtmaier <nick@debian.org>
+.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\" Modified 2008-11-27 by mtk
 .\"
-.TH GETDOMAINNAME 2 2004-06-17 "Linux 2.6.7" "Linux Programmer's Manual"
+.TH GETDOMAINNAME 2 2017-09-15 "Linux" "Linux Programmer's Manual"
 .SH NAME
-getdomainname, setdomainname \- get/set domain name
+getdomainname, setdomainname \- get/set NIS domain name
 .SH SYNOPSIS
 .B #include <unistd.h>
-.sp
+.PP
 .BI "int getdomainname(char *" name ", size_t " len );
 .br
 .BI "int setdomainname(const char *" name ", size_t " len );
+.PP
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.ad l
+.BR getdomainname (),
+.BR setdomainname ():
+.nf
+    Since glibc 2.21:
+.\"            commit 266865c0e7b79d4196e2cc393693463f03c90bd8
+        _DEFAULT_SOURCE
+    In glibc 2.19 and 2.20:
+        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
+    Up to and including glibc 2.19:
+        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
+.fi
+.ad
 .SH DESCRIPTION
-These functions are used to access or to change the domain name of the
-current processor.
-If the NUL-terminated domain name requires more than \fIlen\fP bytes,
+These functions are used to access or to change the NIS domain name of the
+host system.
+.PP
+.BR setdomainname ()
+sets the domain name to the value given in the character array
+.IR name .
+The
+.I len
+argument specifies the number of bytes in
+.IR name .
+(Thus,
+.I name
+does not require a terminating null byte.)
+.PP
+.BR getdomainname ()
+returns the null-terminated domain name in the character array
+.IR name ,
+which has a length of
+.I len
+bytes.
+If the null-terminated domain name requires more than \fIlen\fP bytes,
 .BR getdomainname ()
-returns the first \fIlen\fP bytes (glibc) or returns an error (libc).
-.SH "RETURN VALUE"
-On success, zero is returned.  On error, \-1 is returned, and
+returns the first \fIlen\fP bytes (glibc) or gives an error (libc).
+.SH RETURN VALUE
+On success, zero is returned.
+On error, \-1 is returned, and
 .I errno
 is set appropriately.
 .SH ERRORS
+.BR setdomainname ()
+can fail with the following errors:
 .TP
 .B EFAULT
-For
-.BR setdomainname ():
 .I name
 pointed outside of user address space.
 .TP
 .B EINVAL
+.I len
+was negative or too large.
+.TP
+.B EPERM
+The caller did not have the
+.B CAP_SYS_ADMIN
+capability in the user namespace associated with its UTS namespace (see
+.BR namespaces (7)).
+.PP
+.BR getdomainname ()
+can fail with the following errors:
+.TP
+.B EINVAL
 For
 .BR getdomainname ()
 under libc:
 .I name
-is
-.B NULL
-or
+is NULL or
 .I name
 is longer than
 .I len
 bytes.
-.TP
-.B EINVAL
-For
-.BR setdomainname ():
-.I len
-was negative or too large.
-.TP
-.B EPERM
-For
-.BR setdomainname ():
-the caller is unprivileged (Linux: does not have the
-.B CAP_SYS_ADMIN
-capability).
-.SH "CONFORMING TO"
+.SH CONFORMING TO
 POSIX does not specify these calls.
-.SH "SEE ALSO"
+.\" But they appear on most systems...
+.SH NOTES
+Since Linux 1.0, the limit on the length of a domain name,
+including the terminating null byte, is 64 bytes.
+In older kernels, it was 8 bytes.
+.PP
+On most Linux architectures (including x86),
+there is no
+.BR getdomainname ()
+system call; instead, glibc implements
+.BR getdomainname ()
+as a library function that returns a copy of the
+.I domainname
+field returned from a call to
+.BR uname (2).
+.SH SEE ALSO
 .BR gethostname (2),
 .BR sethostname (2),
 .BR uname (2)