sethostname(2) -- Linux man page
NAMEgethostname, sethostname - get/set host name
DESCRIPTIONThese 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.
RETURN VALUEOn success, zero is returned. On error, -1 is returned, and errno is set appropriately.
- 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 uses ENAMETOOLONG.)
- For sethostname, the caller was not the superuser.
- name is an invalid address.
CONFORMING TOSVr4, 4.4BSD (this function first appeared in 4.2BSD). POSIX 1003.1-2001 specifies gethostname but not sethostname.
BUGSFor many Linux kernel / libc combinations gethostname will return an error instead of returning a truncated hostname.
NOTESSUSv2 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'.
SEE ALSOgetdomainname(2), setdomainname(2), uname(2)