Rechercher une page de manuel
getipnodebyname
Langue: pl
Version: 2002-04-03 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAZWA
getipnodebyname, getipnodebyaddr, freehostent - okre¶lenie nazw i adresów sieciowych hostaSK£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
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)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre