focal (3) getipnodebyaddr.3.gz

Provided by: manpages-pl-dev_0.7-2_all bug

NAZWA

       getipnodebyname, getipnodebyaddr, freehostent - określenie nazw i adresów sieciowych hosta

SKŁADNIA

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

       struct hostent *getipnodebyname(const char *name,
                                int af, int flags,
                                int *error_num);

       struct hostent *getipnodebyaddr(const void *addr,
                                size_t len, int af,
                                int *error_num);

       void freehostent(struct hostent *ip);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

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

       Funkcje  getipnodebyname(3)  i  getipnodebyaddr(3)  zwracają nazwy i adresy hosta 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(3)  i getipnodebyaddr(3) 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(3)  służy  do  zwalniania  przydzielonej dynamicznie pamięci, gdy wywołujący już nie
       potrzebuje struktury hostent.

   parametry getipnodebyname
       Funkcja getipnodebyname(3) wyszukuje adresy sieciowe hosta podanego w parametrze name.  Parametr 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ę hosta sieci IPv4.

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

       Parametr flags zawiera dodatkowe opcje.  Można podać więcej niż jedną opcję  poprzez  wykonanie  na  nich
       logicznego 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  posiada  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  posiada  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_ALL Ten znacznik jest równoważny (AI_ADDRCONFIG | AI_V4MAPPED).

   parametry getipnodebyaddr
       Funkcja  getipnodebyaddr(3)  poszukuje nazwy hista, którego adres sieciowy jest podany w parametrze addr.
       Parametr 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  wskaźnik  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 hosta.

       NO_ADDRESS
              Serwer  DNS  rozpoznał  adres  sieciowy  lub  nazwę hosta, ale nie zwrócił odpowiedzi. Może się to
              zdarzyć, gdy host posiada 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 następnym razem bedzie więcej szczęścia.

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

       h_name Oficjalna nazwa tego hosta.

       h_aliases
              Tablica  wskaźników  do  nieoficjalnych  aliasów  tego  samego  hosta.   Tablica  jest  zakończona
              wskaźnikiem NULL.

       h_addrtype
              Kopia  parametru  af  funkcji  getipnodebyname(3) lub getipnodebyaddr(3).  h_addrtype będzie równe
              AF_INET, gdy parametr 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 a 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  hosta.
              Tablica jest zakończona wskaźnikiem NULL.

UWAGI

       Funkcje  te  były obecne w glibc 2.1.91-95, ale zostały ponownie usunięte.  Wspierają je niektóre systemy
       uniksopodobne, lecz wszystkie traktują te funkcje jako niezalecane.

ZGODNE Z

       RFC 2553.

ZOBACZ TAKŻE

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

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne.
       W  razie  zauważenia  różnic  między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub
       funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 getipnodebyname

       Prosimy  o  pomoc  w  aktualizacji  stron  man  -   więcej   informacji   można   znaleźć   pod   adresem
       http://sourceforge.net/projects/manpages-pl/.