GETHOSTNAME
Section: Linux Programmer's Manual (2)
Updated: 22 July 1995
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)