GNU/Linux |
CentOS 4.8 |
i386 |
![]() |
sethostname(2) |
![]() |
gethostname, sethostname − get/set host name
#include <unistd.h>
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 set appropriately.
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 uses ENAMETOOLONG.) | ||
EPERM |
For sethostname, the caller was not the superuser. | ||
EFAULT |
name is an invalid address. |
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)
![]() |
sethostname(2) | ![]() |