Originální popis anglicky:
gethostname, sethostname - get/set host name
Návod, kniha: Linux Programmer's Manual
#include <unistd.h>
int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t
len);
These functions are used to access or to change the host name of the current
processor. The
gethostname() function returns a NUL-terminated hostname
(set earlier by
sethostname()) in the array
name that has a
length of
len bytes. In case the NUL-terminated hostname does not fit,
no error is returned, but the hostname is truncated. It is unspecified whether
the truncated hostname will be NUL-terminated.
On success, zero is returned. On error, -1 is returned, and
errno is set
appropriately.
- EFAULT
- name is an invalid address.
- 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 did not have the
CAP_SYS_ADMIN capability.
SVr4, 4.4BSD (this function first appeared in 4.2BSD). POSIX 1003.1-2001
specifies
gethostname but not
sethostname.
For many Linux kernel / libc combinations
gethostname will return an
error instead of returning a truncated hostname.
SUSv2 guarantees that `Host names are limited to 255 bytes'. POSIX 1003.1-2001
guarantees that `Host names (not including the terminating NUL) are limited to
HOST_NAME_MAX bytes'.
getdomainname(2),
setdomainname(2),
uname(2)