Provided by: manpages-dev_2.17-1_all
gethostname, sethostname - get/set host name
int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t len);
These functions are used to access or to change the host name of the
current processor. The gethostname() function returns a NUL-terminated
hostname (set earlier by sethostname()) in the array name that has a
length of len bytes. In case the NUL-terminated hostname does not fit,
no error is returned, but the hostname is truncated. It is unspecified
whether the truncated hostname will be NUL-terminated.
On success, zero is returned. On error, -1 is returned, and errno is
EFAULT name is an invalid address.
EINVAL len is negative or, for sethostname(), len is larger than the
maximum allowed size, or, for gethostname() on Linux/i386, len
is smaller than the actual size. (In this last case glibc 2.1
EPERM For sethostname(), the caller did not have the CAP_SYS_ADMIN
SVr4, 4.4BSD (this function first appeared in 4.2BSD). POSIX
1003.1-2001 specifies gethostname() but not sethostname().
For many Linux kernel / libc combinations gethostname() will return an
error instead of returning a truncated hostname.
SUSv2 guarantees that ‘Host names are limited to 255 bytes’. POSIX
1003.1-2001 guarantees that ‘Host names (not including the terminating
NUL) are limited to HOST_NAME_MAX bytes’.
getdomainname(2), setdomainname(2), uname(2)