gethostname, sethostname - get/set host name
SYNOPSIS
#include <unistd.h>
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.
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.1 does not define these functions, but ISO/IEC
9945-1:1990 mentions them in B.4.4.1.
BUGS
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.
NOTES
The definition of success varies. SUSv2 defines gethost
name() 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 bytes'.
SEE ALSO
getdomainname(2), setdomainname(2), uname(2)
Man(1) output converted with
man2html