Provided by: manpages-dev_2.17-1_all bug

NAME

       gethostname, sethostname - get/set host name

SYNOPSIS

       #include <unistd.h>

       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.  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.

RETURN VALUE

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

ERRORS

       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.

CONFORMING TO

       SVr4,   4.4BSD   (this  function  first  appeared  in  4.2BSD).   POSIX
       1003.1-2001 specifies gethostname() but not sethostname().

BUGS

       For many Linux kernel / libc combinations gethostname() will return  an
       error instead of returning a truncated hostname.

NOTES

       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’.

SEE ALSO

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