gethostid, sethostid -
возвращает
или
назначает
уникальный
идентификатор
текущего
узла
Standard C library (
libc,
-lc)
#include <unistd.h>
long gethostid(void);
int sethostid(long hostid);
gethostid():
Since glibc 2.20:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
Up to and including glibc 2.19:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
sethostid():
начиная с 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)
gethostid() and
sethostid() respectively get or set a unique
32-bit identifier for the current machine. The 32-bit identifier was intended
to be unique among all UNIX systems in existence. This normally resembles the
Internet address for the local machine, as returned by
gethostbyname(3), and thus usually never needs to be set.
Только
суперпользователь
может
вызывать
sethostid().
Функция
gethostid()
возвращает
32-битный
идентификатор
текущего
узла,
установленный
sethostid().
При
успешном
выполнении
sethostid()
возвращает
0; при ошибке
— -1, а в
errno
задаётся
код ошибки.
Вызов
sethostid()
может
завершиться
со
следующими
ошибками:
- EACCES
- Вызывающий
не имеет
прав на
запись в
файл,
используемый
для
хранения ID
узла.
- EPERM
- Эффективный
идентификатор
пользователя
или группы
вызывающего
процесса
не
совпадает
с его
соответствующим
реальным
идентификатором.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
gethostid() |
Безвредность
в нитях |
MT-Safe hostid env locale |
sethostid() |
Безвредность
в нитях |
MT-Unsafe const:hostid |
42BSD; эти
функции
удалены в 4.4BSD.
В SVr4
содержится
gethostid(), но
отсутствует
sethostid().
В POSIX.1-2001 и POSIX.1-2008
определена
gethostid(), но
отсутствует
sethostid().
In the glibc implementation, the
hostid is stored in the file
/etc/hostid. (Before glibc 2.2, the file
/var/adm/hostid was
used.)
В
реализации
glibc, если
gethostid() не
может
открыть
файл,
содержащий
ID узла, она
получает
имя узла с
помощью
gethostname(2),
передаёт
это имя
gethostbyname_r(3)
для
получения
адреса IPv4
узла, и
возвращает
значение,
получаемое
преобразованием
битов
полученного
адреса IPv4
(такое
значение
может быть
не
уникально).
Невозможно
достоверно
сказать,
что
идентификатор
является
глобально
уникальным.
hostid(1),
gethostbyname(3)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Vladislav <
[email protected]>,
Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]