gethostname (2)





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

       EINVAL len is negative or, for sethostname, len is larger than the max-
              imum 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
       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)

Linux 2.5.0                       2001-12-15                    gethostname(2)