Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution. Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
#include <unistd.h> int gethostname(char *name, int namelen);
int sethostname(char *name, int namelen);
The gethostname() function returns the standard host name for the current processor, as previously set by sethostname(). The namelen argument specifies the size of the array pointed to by name. The returned name is null-terminated unless insufficient space is provided.
The sethostname() function 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.
Host names are limited to MAXHOSTNAMELEN characters, currently 256, defined in the <netdb.h> header.
Upon successful completion, gethostname() and sethostname() return 0. Otherwise, they return -1 and set errno to indicate the error.
The gethostname() and sethostname() functions will fail if:
EFAULT
The name or namelen argument gave an invalid address.
The sethostname() function will fail if:
EPERM
The {PRIV_SYS_ADMIN} privilege was not asserted in the effective set of the calling process.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
MT-Level | MT-Safe |
sysinfo(2), uname(2), gethostid(3C), attributes(5), standards(5)