NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | VERSIONS | STANDARDS | HISTORY | SEE ALSO | COLOPHON |
|
|
getdomainname(2) System Calls Manual getdomainname(2)
getdomainname, setdomainname - get/set NIS ___domain name
Standard C library (libc, -lc)
#include <unistd.h> int getdomainname(char *name, size_t size); int setdomainname(const char *name, size_t size); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): getdomainname(), setdomainname(): Since glibc 2.21: _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)
These functions are used to access or to change the NIS ___domain name of the host system. More precisely, they operate on the NIS ___domain name associated with the calling process's UTS namespace. setdomainname() sets the ___domain name to the value given in the character array name. The size argument specifies the number of bytes in name. (Thus, name does not require a terminating null byte.) getdomainname() returns the null-terminated ___domain name in the character array name, which has a size of size bytes. If the null-terminated ___domain name requires more than len bytes, getdomainname() returns the first len bytes (glibc) or gives an error (libc).
On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.
setdomainname() can fail with the following errors: EFAULT name pointed outside of user address space. EINVAL size was negative or too large. EPERM The caller did not have the CAP_SYS_ADMIN capability in the user namespace associated with its UTS namespace (see namespaces(7)). getdomainname() can fail with the following errors: EINVAL For getdomainname() under libc: name is NULL or name is equal or longer than size bytes.
On most Linux architectures (including x86), there is no getdomainname() system call; instead, glibc implements getdomainname() as a library function that returns a copy of the domainname field returned from a call to uname(2).
None.
Since Linux 1.0, the limit on the size of a ___domain name, including the terminating null byte, is 64 bytes. In older kernels, it was 8 bytes.
gethostname(2), sethostname(2), uname(2), uts_namespaces(7)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.10.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2025-02-02. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
[email protected]
Linux man-pages 6.10 2024-11-17 getdomainname(2)
Pages that refer to this page: hostname(1), gethostname(2), syscalls(2), uname(2), capabilities(7), uts_namespaces(7)