gethostnamesethostname
- get/set name of current host
LIBRARY
Lb libc
SYNOPSIS
#include <unistd.h> int
gethostname (char *name size_t namelen); int
sethostname (const char *name int namelen);
DESCRIPTION
The
gethostname ();
function
returns the standard host name for the current processor, as
previously set by
sethostname (.);
The
Fa namelen
argument
specifies the size of the
Fa name
array.
The returned name is null-terminated unless insufficient space is provided.
The
sethostname ();
function
sets the name of the host machine to be
Fa name ,
which has length
Fa namelen .
This call is restricted to the super-user and
is normally used only when the system is bootstrapped.
Host names are limited to
Br q Dv HOST_NAME_MAX
characters, not including the trailing null, currently 255.
RETURN VALUES
Rv -std
ERRORS
The following errors may be returned by these calls:
Bq Er EFAULT
The
Fa name
or
Fa namelen
argument gave an
invalid address.
Bq Er ENAMETOOLONG
The current host name is longer than
Fa namelen .
(For
gethostname ();
only.)
Bq Er EPERM
The caller tried to set the host name and was not the super-user.
The
gethostname ();
function conforms to
St -p1003.1-2001 .
Callers should be aware that
Br q Dv HOST_NAME_MAX
may be variable or infinite, but is guaranteed to be no less than
Br q Dv _POSIX_HOST_NAME_MAX .
On older systems, this limit was defined in the non-standard header
#include <sys/param.h>
as
MAXHOSTNAMELEN
and counted the terminating null.
The
sethostname ();
function and the error returns for
gethostname ();
are not standardized.
HISTORY
The
gethostname ();
function appeared in
BSD 4.2
The
Fa namelen
argument to
gethostname ();
was changed to
Vt size_t
in
Fx 5.2
for alignment with
St -p1003.1-2001 .