Manpages

GETHOSTNAME(3) BSD Library Functions Manual GETHOSTNAME(3)

NAME

gethostname, sethostname — get/set name of current host

LIBRARY

Standard C Library (libc, −lc)

SYNOPSIS

#include <unistd.h>

int

gethostname(char *name, int 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 namelen argument specifies the size of the 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 name, which has length namelen. This call is restricted to the super-user and is normally used only when the system is bootstrapped.

RETURN VALUES

Upon successful completion, the value 0 is returned; otherwise the value −1 is returned and the global variable errno is set to indicate the error.

ERRORS

The following errors may be returned by these calls:

[EFAULT]

The name or namelen argument gave an invalid address.

[EPERM]

The caller tried to set the hostname and was not the super-user.

SEE ALSO

gethostid(3), sysctl(3)

BUGS

Host names are limited to MAXHOSTNAMELEN (from ⟨

sys/param.h ⟩ ) characters, currently 256. This includes the trailing NUL.

HISTORY

The gethostname() function appeared in 4.2BSD.

BSD June 4, 1993 BSD