Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



   setdomainname - получить/установить имя домена NIS

setdomainname(2) получить/установить имя домена NIS

Other Alias

getdomainname


ОБЗОР

#include <unistd.h>

int getdomainname(char *name, size_t len);
int setdomainname(const char *name, size_t len);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

getdomainname(), setdomainname():

_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)


ОПИСАНИЕ

Эти функции используются для доступа к имени узла домена NIS или для его изменения.

setdomainname() изменяет доменное имя на значение, указанное в массиве символов name. В аргументе len задаётся количество байт в name. (То есть name может не завершаться байтом с null.)

getdomainname() возвращает доменное имя с null на конце в массиве символов name, который имеет длину len байт. Если для доменного имени с null на конце требуется больше чем len байт, то getdomainname() возвращает первые len байт (glibc) или возвращает ошибку (libc).


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

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


ОШИБКИ

setdomainname() может завершиться со следующими ошибками:

EFAULT name указывает за пределы пользовательского адресного пространства.

EINVAL Значение len отрицательно или слишком большое.

EPERM Вызывающий не имеет прав (Linux: не имеет мандата CAP_SYS_ADMIN).

getdomainname() может завершиться со следующими ошибками:

EINVAL Для getdomainname() в libc: значение name равно NULL или name длиннее чем len байт.


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

В POSIX нет этих вызовов.


ЗАМЕЧАНИЯ

Начиная с Linux 1.0, длина доменного имени, включая завершающий байт с null, ограничена 64 байтами. В более старых ядрах ограничение было 8 байт.

На большинстве архитектур Linux (включая x86), системный вызов getdomainname() отсутствует; вместо него в библиотеке glibc реализована функция getdomainname(), которая возвращает копию поля domainname, которую возвращает вызов uname(2).