gethostid(3) Library Functions Manual gethostid(3) NAZWA gethostid, sethostid - pobiera lub ustawia unikatowy identyfikator biezacego komputera BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include long gethostid(void); int sethostid(long hostid); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): gethostid(): Od glibc 2.20: _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500 Do glibc 2.19 wlacznie: _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 wlacznie: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) OPIS gethostid() oraz sethostid odpowiednio pobiera lub ustawia unikatowy 32-bitowy identyfikator biezacego komputera. 32-bitowy identyfikator mial byc niepowtarzalny wsrod wszystkich istniejacych systemow uniksowych. Normalnie jest to podobne do adresu internetowego lokalnego komputera, zwracanego przez gethostbyname(3) i dlatego zwykle nie musi byc ustawiane. Wywolanie sethostid() jest zastrzezone dla superuzytkownika. WARTOSC ZWRACANA gethostid() zwraca 32-bitowy identyfikator biezacego komputera, jaki zostal ustawiony przez sethostid(). W przypadku powodzenia sethostid() zwraca zero. W razie wystapienia bledu zwracane jest -1 i ustawiana jest odpowiednia wartosc zmiennej errno. BLEDY sethostid() moze zawiesc z powodu nastepujacych bledow: EACCES Proces wywolujacy nie ma prawa zapisu do pliku uzywanego do przechowywania identyfikatora biezacego komputera. EPERM Efektywny identyfikator uzytkownika lub grupy procesu wywolujacego nie jest taki sam jak odpowiadajacy mu identyfikator rzeczywisty. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +------------+--------------------------+------------------------------+ |Interfejs | Atrybut | Wartosc | +------------+--------------------------+------------------------------+ |gethostid() | Bezpieczenstwo watkowe | MT-bezpieczne hostid env | | | | locale | +------------+--------------------------+------------------------------+ |sethostid() | Bezpieczenstwo watkowe | MT-niebezpieczne | | | | const:hostid | +------------+--------------------------+------------------------------+ WERSJE W implementacji biblioteki glibc hostid jest przechowywane w pliku /etc/hostid (przed glibc 2.2 byl uzywany plik /var/adm/hostid). W implementacji glibc, jesli gethostid() nie moze otworzyc pliku zawierajacego ID komputera, to pobiera jego nazwe, uzywajac gethostname(2), nastepnie przekazuje ja do gethostbyname_r(3), aby dostac adres IPv4 komputera, by w koncu zwrocic wartosc utworzona przez pomieszanie bitow adresu IPv4 (taka wartosc moze nie byc unikatowa). STANDARDY gethostid() POSIX.1-2008. sethostid() Brak. HISTORIA 4.2BSD; porzucono w 4.4BSD. SVr4 i POSIX.1-2001 zawiera gethostid(), lecz brak tam sethostid(). USTERKI Nie da sie zapewnic, ze ten identyfikator jest globalnie niepowtarzalny. ZOBACZ TAKZE hostid(1), gethostbyname(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.9.1 2 maja 2024 r. gethostid(3)