GETHOSTNAME(3C) Standard C Library Functions GETHOSTNAME(3C)

gethostname, sethostname - get or set name of current host

#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 machine, 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:


The name or namelen argument gave an invalid address.

The sethostname() function will fail if:


The {PRIV_SYS_ADMIN} privilege was not asserted in the effective set of the calling process.

See attributes(7) for descriptions of the following attributes:

Interface Stability Standard
MT-Level MT-Safe

sysinfo(2), uname(2), gethostid(3C), attributes(7), standards(7)

February 7, 2015 OmniOS