GETHOSTNAME(2)

NAME
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.

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
Some other implementations of gethostname successfully return len bytes even if name is longer. Linux/Alpha complies with this behaviour. Linux/i386, however, returns EINVAL in this case (as of DLL 4.6.27 libraries).

NOTES
Under Linux/Alpha, gethostname is a system call. Under Linux/i386, gethostname is implemented at the library level by calling uname(2).

SEE ALSO
getdomainname(2), setdomainname(2), uname(2)