int gethostname(char * name , size_t len ); int sethostname(const char * name , size_t len );
DESCRIPTION
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.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and
errno is set appropriately.
ERRORS
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.
CONFORMING TO
SVr4, 4.4BSD (this function first appeared in 4.2BSD).
POSIX 1003.1-2001 specifies
gethostname but not
sethostname .
BUGS
For many Linux kernel / libc combinations
gethostname will return an error instead of returning a truncated hostname.
NOTES
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'.