]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/getdomainname.2
fuse.4: ffix
[thirdparty/man-pages.git] / man2 / getdomainname.2
index ac801421ca516e80064c380c542483c2558492e1..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.
 .\"
 .\" 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.
+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"
+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:
@@ -63,23 +114,24 @@ is NULL or
 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.
 .\" But they appear on most systems...
-.SH "SEE ALSO"
+.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)