getipnodebyname(3) | Podręcznik programisty Linuksa | getipnodebyname(3) |
getipnodebyname, getipnodebyaddr, freehostent - określenie nazw i adresów sieciowych hosta
#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);
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.
Funkcja getipnodebyname(3) wyszukuje adresy sieciowe hosta podanego w parametrze name. Parametr af może zawierać jedną z następujących wartości:
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.
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:
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:
W przypadku pomyślnego wyniku zapytania zwraca ny jest wskaźnik do struktury hostent zawierającej następujące pola:
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.
RFC 2553.
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:
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.
2002-04-03 | Linux |