Provided by: manpages-pl-dev_0.6-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/.