HP-UX Reference (11i v2 07/12) - 2 System Calls (vol 5)
s
sethostname(2) sethostname(2)
NAME
sethostname() - set name of host cpu
SYNOPSIS
#include <unistd.h>
int sethostname(const char *name, size_t namelen);
DESCRIPTION
The sethostname()
system call sets the name of the host processor to name, which has a length of
namelen characters. At system boot time
sethostname()
is normally executed by the
hostname com-
mand (see hostname(1)) in the
/sbin/init.d/hostname
script. Host names are limited to MAX-
HOSTNAMELEN
characters, as defined in <sys/param.h>
.
Security Restrictions
The actions associated with this system call require the
PRIV_SYSATTR privilege (SYSATTR). Processes
owned by the superuser have this privilege. Processes owned by other users may have this privilege,
depending on system configuration. See privileges(5) for more information about privileged access on sys-
tems that support fine-grained privileges.
RETURN VALUE
sethostname() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
ERRORS
If sethostname() fails, errno is set to one of the following values.
[EFAULT] name points to an illegal address. The reliable detection of this error is implementa-
tion dependent.
[EPERM] The user does not have appropriate privileges.
WARNINGS
Setting a hostname of more than 64 bytes with
sethostname()
is possible only with the appropriate
configuration options enabled. It is strongly recommended that all related documentation be completely
understood before setting a larger hostname. A hostname larger than 64 bytes can cause anomalous or
incorrect behavior in applications which use the
hostname command or the gethostname()
system
function to obtain the name.
AUTHOR
sethostname() was developed by the University of California, Berkeley.
SEE ALSO
hostname(1), uname(1), gethostname(2), uname(2), nodehostnamesize(5), privileges(5).
378 Hewlett-Packard Company − 1 − HP-UX 11i Version 2: December 2007 Update