Scroll to navigation

getdomainname(2) System Calls Manual getdomainname(2)

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

Стандартная библиотека языка C (libc-lc)

ОБЗОР

#include <unistd.h>
int getdomainname(size_t size;
                  char name[size], size_t size);
int setdomainname(size_t size;
                  const char name[size], size_t size);

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

getdomainname(), setdomainname():


начиная с glibc 2.21:
_DEFAULT_SOURCE
в glibc 2.19 и 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
до glibc 2.19, включительно:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

ОПИСАНИЕ

Данные функции используются для получения или изменения имени домена NIS узла системы. Точнее говоря, они работают с именем домена NIS, связанным с пространством имён UTS вызывающего процесса.

setdomainname() sets the domain name to the value given in the character array name. The size argument specifies the number of bytes in name. (Thus, name does not require a terminating null byte.)

getdomainname() returns the null-terminated domain name in the character array name, which has a size of size bytes. If the null-terminated domain name requires more than len bytes, getdomainname() returns the first len bytes (glibc) or gives an error (libc).

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

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

ОШИБКИ

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

name указывает за пределы пользовательского адресного пространства.
size was negative or too large.
У вызывающего нет мандата CAP_SYS_ADMIN в пользовательском пространстве имён, связанном с его пространством имён UTS (смотрите namespaces(7)).

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

For getdomainname() under libc: name is NULL or name is equal or longer than size bytes.

ВЕРСИИ

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

СТАНДАРТЫ

Отсутствуют.

ИСТОРИЯ

Since Linux 1.0, the limit on the size of a domain name, including the terminating null byte, is 64 bytes. In older kernels, it was 8 bytes.

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

gethostname(2), sethostname(2), uname(2), uts_namespaces(7)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

28 июня 2025 г. Справочные страницы Linux (невыпущенные)