Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

sethostname(3C)

Name

gethostname, sethostname - get or set name of current host

Synopsis

#include <unistd.h>

int gethostname(char *name, size_t namelen);
int sethostname(char *name, size_t namelen);

Description

The gethostname() function returns the standard host name for the current zone, 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 host name of the currrent zone to be name, which has length namelen. This call requires the {PRIV_SYS_ADMIN} privilege and is normally used only when the system is booted.

Host names are limited to MAXHOSTNAMELEN characters, currently 256, defined in the <netdb.h> header.

Return Values

Upon successful completion, gethostname() and sethostname() return 0. Otherwise, they return −1 and set errno to indicate the error.

Errors

The gethostname() and sethostname() functions will fail if:

EFAULT

The name argument is 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.

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See Also

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