int getdomainname(char *name, size_t len);
int setdomainname(const char *name, size_t len);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
These functions are used to access or to change the NIS domain name of
the host system.
setdomainname() sets the domain name to the value given in the charac-
ter array name. The len 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 charac-
ter array name, which has a length of len bytes. If the null-termi-
nated 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
setdomainname() can fail with the following errors:
EFAULT name pointed outside of user address space.
EINVAL len was negative or too large.
EPERM the caller is unprivileged (Linux: does not have the
getdomainname() can fail with the following errors:
EINVAL For getdomainname() under libc: name is NULL or name is longer
than len bytes.
POSIX does not specify these calls.
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
On most Linux architectures (including x86), there is no getdomain-
name() 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).
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019
All Rights Reserved.