gethostname, sethostname - определяет/устанавливает имя узла
НАЗВАНИЕgethostname, sethostname - определяет/устанавливает имя
узла
СИНТАКСИС
#include
int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t len);
ОПИСАНИЕ
Эти функции используются для определения или изменения
имени машины. Функция gethostname() возвращает
оканчивающуюся NUL строку с именем машины (установленным
ранее функцией sethostname()) в массиве name, который
имеет длину len байт. Если имя машины, оканчивающееся
NUL, не помещается в массив, то функция не вернет ошибку,
хотя имя машины будет обрезано. Не определено, будет ли
обрезаное имя оканчиваться NUL.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении вызова возвращается ноль. При
ошибке возвращается -1, а переменной errno присваивается
соответствующее значение.
КОДЫ ОШИБОК
EINVAL len отрицательно или больше допустимого размера
(для sethostname), или меньше действительного
значения (для gethostname в Linux/i386 в этом
случае использует 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 гарантирует, что `Имя машины
(не включая конечный NUL) ограничено HOST_NAME_MAX
байтами.