Penguin

GETHOSTNAME

GETHOSTNAME

NAME SYNOPSIS DESCRIPTION RETURN VALUE ERRORS CONFORMING TO BUGS NOTES SEE ALSO


NAME

gethostname, sethostname - get/set host name

SYNOPSIS

#include

int gethostname(char *name, size_t len); int sethostname(const char *name, size_t len);

DESCRIPTION

These functions are used to access or to change the host name of the current processor.

RETURN VALUE

On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS

EINVAL

len is negative or, for sethostname, len is larger than the maximum allowed size, or, for gethostname on Linux/i386, len is smaller than the actual size. (In this last case glibc 2.1 uses ENAMETOOLONG.)

EPERM

For sethostname, the caller was not the superuser.

EFAULT

name is an invalid address.

CONFORMING TO

SVr4, 4.4BSD (this function first appeared in 4.2BSD). POSIX.1 does not define these functions, but ISO/IEC 9945-1:1990 mentions them in B.4.4.1.

BUGS

According to the SUSv2, gethostname must return len bytes (a truncated hostname, NUL-terminated or not) when the hostname is longer. Linux/Alpha (which has a system call gethostname) complies with this requirement, but libc and glibc on Linux/i386 only return an error in this case.

NOTES

The definition of success varies. SUSv2 defines gethostname() as `return possibly truncated hostname', and having a small len does not cause an error return. Of course it must be possible to be certain that one has obtained the full hostname, and to this end SUSv2 guarantees that `Host names are limited to 255 bytes'.

SEE ALSO

getdomainname(2), setdomainname(2), uname(2)


This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.