plucky (3) getipnodebyaddr.3.gz

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

NAZWA

       getipnodebyname, getipnodebyaddr, freehostent - określa nazwy i adresy sieciowe stacji

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sys/types.h>
       #include <sys/socket.h>
       #include <netdb.h>

       [[przestarzałe]] struct hostent *getipnodebyname(const char *name, int af,
                                                   int flags, int *error_num);
       [[przestarzałe]] struct hostent *getipnodebyaddr(const void addr[.len],
                                                   size_t len, int af,
                                                   int *error_num);
       [[przestarzałe]] void freehostent(struct hostent *ip);

OPIS

       Te  funkcje  są  przestarzałe  (i  niedostępne  w  glibc).  Zamiast  nich należy używać getaddrinfo(3)  i
       getnameinfo(3).

       Funkcje getipnodebyname() i getipnodebyaddr() zwracają nazwy i adresy komputera  sieciowego.  Wynik  jest
       wskaźnikiem do struktury o następującej postaci:

           struct hostent {
               char  *h_name;
               char **h_aliases;
               int    h_addrtype;
               int    h_length;
               char **h_addr_list;
           };

       Funkcje  te zastąpiły funkcje gethostbyname(3) i gethostbyaddr(3), które mogły udostępniać jedynie adresy
       należące  do  rodziny  adresów  sieciowych  IPv4.  Funkcje  getipnodebyname()  i  getipnodebyaddr()  mogą
       udostępniać adresy należące do wielu rodzin adresów sieciowych.

       W  odróżnieniu  od funkcji gethostby, funkcje te zwracają wskaźniki do pamięci przydzielonej dynamicznie.
       Funkcja freehostent() służy do zwalniania przydzielonej  dynamicznie  pamięci,  gdy  wywołujący  już  nie
       potrzebuje struktury hostent.

   Argumenty funkcji getipnodebyname()
       Funkcja  getipnodebyname()  wyszukuje  adresy  sieciowe komputera podanego w argumencie name. Argument af
       może zawierać jedną z następujących wartości:

       AF_INET
              Parametr name wskazuje na adres IPv4 (w postaci czterech  rozdzielonych  kropkami  liczb)  lub  na
              nazwę komputera sieci IPv4.

       AF_INET6
              Parametr name wskazuje na adres IPv6 (w postaci szesnastkowej) lub na nazwę komputera sieci IPv6.

       Parametr  flags  zawiera  dodatkowe  opcje.  Można  podać  więcej niż jedną opcję przez wykonanie na nich
       bitowego OR. flags powinno być ustawione na 0, gdy żadne opcje nie są potrzebne.

       AI_V4MAPPED
              Ten znacznik użyty łącznie z AF_INET6 określa, że zapytanie ma dotyczyć adresów IPv4, a nie  IPv6;
              adresy IPv4 będą odwzorowane na adresy IPv6.

       AI_ALL Ten  znacznik  użyty łącznie z AI_V4MAPPED określa, że zapytanie ma dotyczyć zarówno adresów IPv4,
              jak i IPv6. Znalezione adresy IPv4 zostaną odwzorowane na adresy IPv6.

       AI_ADDRCONFIG
              Ten znacznik użyty łącznie z AF_INET6 oznacza, że dalsze  zapytania  dotyczące  adresów  IPv6  nie
              powinny  być wykonywane, jeżeli system nie ma adresu IPv6 przydzielonego do któregoś z interfejsów
              sieciowych, oraz, że dalsze zapytania dotyczące adresów IPv4 nie powinny  być  wykonywane,  jeżeli
              system  nie  ma adresu IPv4 przydzielonego do któregoś z interfejsów sieciowych. Znacznik ten może
              zostać użyty samodzielnie lub łącznie ze znacznikiem AI_V4MAPPED.

       AI_DEFAULT
              Ten znacznik jest równoważny (AI_ADDRCONFIG | AI_V4MAPPED).

   Argumenty funkcji getipnodebyaddr()
       Funkcja getipnodebyaddr()  poszukuje nazwy stacji, której adres sieciowy jest podany w  parametrze  addr.
       Argument af może mieć jedną z następujących wartości:

       AF_INET
              Parametr  addr  wskazuje  na strukturę struct in_addr; len musi mieć wówczas wartość sizeof(struct
              in_addr).

       AF_INET6
              Parametr addr wskazuje na strukturę struct in6_addr; len musi mieć wówczas  wartość  sizeof(struct
              in6_addr).

WARTOŚĆ ZWRACANA

       Gdy  wystąpi  błąd,  zwrócony  zostanie  NULL,  a error_num będzie zawierać kod błędu według następującej
       listy:

       HOST_NOT_FOUND
              Nie znaleziono nazwy lub adresu sieciowego stacji.

       NO_ADDRESS
              Serwer DNS rozpoznał adres sieciowy lub nazwę stacji, ale nie  zwrócił  odpowiedzi.  Może  się  to
              zdarzyć, gdy komputer ma jedynie adresy IPv4, a zapytanie dotyczyło jedynie informacji o IPv6, lub
              odwrotnie.

       NO_RECOVERY
              Serwer DNS zwrócił błąd trwały.

       TRY_AGAIN
              Serwer DNS zwrócił błąd tymczasowy. Może udać się następnym razem.

       W przypadku pomyślnego  wyniku  zapytania  zwracany  jest  wskaźnik  do  struktury  hostent  zawierającej
       następujące pola:

       h_name Oficjalna nazwa sieciowa tej stacji.

       h_aliases
              Tablica wskaźników do nieoficjalnych aliasów tej samej stacji. Tablica jest zakończona wskaźnikiem
              NULL.

       h_addrtype
              Kopia argumentu af funkcji  getipnodebyname()  lub  getipnodebyaddr(3).  h_addrtype  będzie  równe
              AF_INET,  gdy argument af był równy AF_INET. h_addrtype będzie równe AF_INET6, gdy parametr af był
              równy AF_INET6.

       h_length
              Będzie równe  sizeof(struct  in_addr),  gdy  h_addrtype  jest  równe  AF_INET,  lub  sizeof(struct
              in6_addr), gdy h_addrtype jest równe AF_INET6.

       h_addr_list
              Tablica  zawierająca  jeden lub więcej wskaźników do struktur adresów sieciowych danego komputera.
              Tablica jest zakończona wskaźnikiem NULL.

STANDARDY

       Brak.

HISTORIA

       RFC 2553.

       Obecne w glibc 2.1.91-95, ale ponownie  usunięte.  Obsługują  je  niektóre  systemy  uniksopodobne,  lecz
       wszystkie traktują je jako niezalecane.

ZOBACZ TAKŻE

       getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)

TŁUMACZENIE

       Autorami    polskiego    tłumaczenia   niniejszej   strony   podręcznika   są:   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⟩.