gethostid, sethostid - pobranie lub ustawienie unikatowego identyfikatora
obecnej maszyny
Standardowa biblioteka C (
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():
Od glibc 2.21:
_DEFAULT_SOURCE
W glibc 2.19 i 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Do glibc 2.19 włącznie:
_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.
Wywołanie
sethostid() jest zastrzeżone dla
superużytkownika.
gethostid() zwraca 32-bitowy identyfikator obecnej maszyny, jaki
został ustawiony przez
sethostid().
W przypadku powodzenia
sethostid() zwraca zero. W razie
wystąpienia błędu zwracane jest -1 i ustawiana jest
odpowiednia wartość zmiennej
errno.
sethostid() może zawieść z powodu
następujących błędów:
- EACCES
- Proces wywołujący nie ma prawa zapisu do
pliku używanego do przechowywania identyfikatora
bieżącej maszyny.
- EPERM
- Efektywny identyfikator użytkownika lub grupy
procesu wywołującego nie jest taki sam jak
odpowiadający mu identyfikator rzeczywisty.
Informacje o pojęciach używanych w tym rozdziale można
znaleźć w podręczniku
attributes(7).
Interfejs |
Atrybut |
Wartość |
gethostid() |
Bezpieczeństwo wątkowe |
MT-Safe hostid env locale |
sethostid() |
Bezpieczeństwo wątkowe |
MT-Unsafe const:hostid |
4.2BSD. Funkcje te porzucono w 4.4BSD. SVr4 zawiera
gethostid(), lecz
brak tam
sethostid().
POSIX.1-2001 i POSIX.1-2008 zawiera
gethostid(), ale nie
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.)
W implementacji glibc, jeśli
gethostid() nie może
otworzyć pliku zawierającego ID maszyny, to pobiera jej
nazwę, używając
gethostname(2), następnie
przekazuje ją do
gethostbyname_r(3), aby dostać adres
IPv4 komputera, by w końcu zwrócić wartość
utworzoną przez pomieszanie bitów adresu IPv4. (Taka
wartość może nie być unikatowa).
Nie da się zapewnić, że ten identyfikator jest globalnie
niepowtarzalny.
hostid(1),
gethostbyname(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Przemek Borys <
[email protected]>, Andrzej Krzysztofowicz
<
[email protected]> i Robert Luberda <
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]