Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       gethostid, sethostid - pobiera lub ustawia unikatowy identyfikator bieżącego komputera

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():
           Od glibc 2.20:
               _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
           Do glibc 2.19 włącznie:
               _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()   oraz   sethostid   odpowiednio   pobiera  lub  ustawia  unikatowy  32-bitowy
       identyfikator bieżącego komputera. 32-bitowy identyfikator miał być  niepowtarzalny  wśród
       wszystkich   istniejących  systemów  uniksowych.  Normalnie  jest  to  podobne  do  adresu
       internetowego lokalnego komputera, zwracanego przez gethostbyname(3) i dlatego zwykle  nie
       musi być ustawiane.

       Wywołanie sethostid() jest zastrzeżone dla superużytkownika.

WARTOŚĆ ZWRACANA

       gethostid()  zwraca  32-bitowy  identyfikator  bieżącego  komputera, 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żącego komputera.

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

       ┌────────────┬────────────────────────┬───────────────────────────────────────────────────┐
       │InterfejsAtrybutWartość                                           │
       ├────────────┼────────────────────────┼───────────────────────────────────────────────────┤
       │gethostid() │ Bezpieczeństwo wątkowe │ MT-bezpieczne hostid env locale                   │
       ├────────────┼────────────────────────┼───────────────────────────────────────────────────┤
       │sethostid() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne const:hostid                     │
       └────────────┴────────────────────────┴───────────────────────────────────────────────────┘

WERSJE

       W implementacji biblioteki glibc hostid jest  przechowywane  w  pliku  /etc/hostid  (przed
       glibc 2.2 był używany plik /var/adm/hostid).

       W  implementacji  glibc,  jeśli  gethostid()  nie  może  otworzyć  pliku  zawierającego ID
       komputera, to pobiera jego 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).

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 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
       <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>,  Robert  Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.