GNU/Linux | 
					CentOS 4.8 | 
					i386 | 
![]()  | 
					gethostname(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)
![]()  | 
				gethostname(2) | ![]()  |