gethostname, sethostname - get/set host name
int gethostname(char *name, size_t
int sethostname(const char *name, size_t
These functions are used to access or to change the host
name of the current processor.
On 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
For sethostname, the caller was not the
name is an invalid address.
SVr4, 4.4BSD (this function first appeared in 4.2BSD).
POSIX.1 does not define these functions, but ISO/IEC
9945-1:1990 mentions them in B.4.4.1.
According to the SUSv2, gethostname must return
len bytes (a truncated hostname, NUL-terminated or
not) when the hostname is longer. Linux/Alpha (which has a
system call gethostname) complies with this
requirement, but libc and glibc on Linux/i386 only return an
error in this case.
The definition of success varies. SUSv2 defines
gethostname() as `return possibly truncated
hostname', and having a small len does not cause an
error return. Of course it must be possible to be certain
that one has obtained the full hostname, and to this end
SUSv2 guarantees that `Host names are limited to 255