NAZWA

gethostid, sethostid - pobranie lub ustawienie unikatowego identyfikatora obecnej maszyny

BIBLIOTEKA

Standardowa biblioteka C ( libc, -lc)

SKŁADNIA

#include <unistd.h>
long gethostid(void);
int sethostid(long hostid);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
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)

OPIS

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.

WARTOŚĆ ZWRACANA

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.

BŁĘDY

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.

ATRYBUTY

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
 

STANDARDY

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().

UWAGI

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).

BŁĘDY

Nie da się zapewnić, że ten identyfikator jest globalnie niepowtarzalny.

ZOBACZ TAKŻE

hostid(1), gethostbyname(3)

TŁUMACZENIE

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]

Recommended readings

Pages related to sethostid you should read also: