Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       gethostname, sethostname - получить/установить имя машины

ОБЗОР

       #include <unistd.h>

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

ОПИСАНИЕ

       Эти  функции  используются  для  доступа  к  имени  машины или для его изменения.  Функция
       gethostname() возвращает имя машины (которое ранее было установлено вызовом sethostname())
       в  виде  строки  name,  которая имеет длину len байт и завершается нулевым символом.  Если
       завершающий нулевой символ не встретился в len байтах, то ошибки не будет, но  имя  машины
       будет усечено. При этом не факт, что усечённое имя будет завершаться нулевым символом.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       В  случае  успеха,  возвращается  0.  При  ошибке  возвращается  -1 и значение errno будет
       установлено соответствующим образом.

ОШИБКИ

       EINVAL len имеет отрицательное  значение  или  для  sethostname,  длина  len  больше,  чем
              максимально  допустимое  значение,  или  для  gethostname  на Linux/i386, длина len
              меньше, чем фактический размер.  (В это случае glibc 2.1 использует ENAMETOOLONG.)

       EPERM  Вызвавший sethostname, не является суперпользователем.

       EFAULT name является неправильным адресом.

СООТВЕТСТВИЕ СТАНДАРТАМ

       SVr4, 4.4BSD  (данная функция впервые появилась в 4.2BSD).  POSIX  1003.1-2001  определяет
       gethostname но не sethostname.

ОШИБКИ РЕАЛИЗАЦИИ

       Для многих комбинаций ядер Linux / libc функция gethostname будет возвращать ошибку вместо
       усечённого имени машины.

ЗАМЕЧАНИЯ

       SUSv2  гарантирует,  что  `Длина  имени  машины  ограничивается  255-ми  байтами'.   POSIX
       1003.1-2001  гарантирует,  что `Длина имени машины (не включая завершающий нулевой символ)
       ограничивается HOST_NAME_MAX байтами'.

СМОТРИТЕ ТАКЖЕ

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

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003