NAME
gethostname
,
sethostname
—
get/set name of current host
SYNOPSIS
#include
<unistd.h>
int
gethostname
(char
*name, size_t
namelen);
int
sethostname
(const
char *name, size_t
namelen);
DESCRIPTION
The
gethostname
()
function returns the standard host name for the current machine, as
previously set by sethostname
(). The parameter
namelen specifies the size of the
name array. If insufficient space is provided, the
returned name is truncated. The returned name is always NUL terminated. If
no space is provided, an error is returned.
sethostname
()
sets the name of the host machine to be name, which
has length namelen. This call is restricted to the
superuser and is normally used only when the system is bootstrapped.
RETURN VALUES
If the call succeeds, a value of 0 is returned. If the call fails, a value of -1 is returned and an error code is placed in the global variable errno.
ERRORS
The following errors may be returned by these calls:
- [
EFAULT
] - The name parameter gave an invalid address.
- [
ENOMEM
] - The namelen parameter was zero.
- [
EPERM
] - The caller tried to set the hostname and was not the superuser.
SEE ALSO
hostname(1), sysctl(2), getdomainname(3), gethostid(3), sysctl(8), yp(8)
STANDARDS
The gethostname
() function call conforms
to X/Open Portability Guide Issue 4,
Version 2 (“XPG4.2”).
HISTORY
The gethostname
() function call appeared
in 4.2BSD.
BUGS
Host names are limited to MAXHOSTNAMELEN
(from <sys/param.h>
)
characters, currently 256. This includes the terminating NUL character. Note
that the corresponding POSIX definition
HOST_NAME_MAX
in
<limits.h>
does
not include
the terminating NUL character.
If the buffer passed to gethostname
() is
smaller than MAXHOSTNAMELEN
, other operating systems
may not guarantee termination with NUL.