getipnodebyname(3) | Library Functions Manual | getipnodebyname(3) |
getipnodebyname, getipnodebyaddr, freehostent - określenie nazw i adresów sieciowych maszyny
Standardowa biblioteka C (libc, -lc)
#include <sys/types.h> #include <sys/socket.h> #include <netdb.h>
[[deprecated]] struct hostent *getipnodebyname(const char *name, int af, int flags, int *error_num); [[deprecated]] struct hostent *getipnodebyaddr(const void addr[.len], size_t len, int af, int *error_num); [[deprecated]] void freehostent(struct hostent *ip);
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.
Funkcja getipnodebyname() wyszukuje adresy sieciowe komputera podanego w argumencie name. Argument af może zawierać jedną z następujących wartości:
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.
Funkcja getipnodebyaddr() poszukuje nazwy maszyny, której adres sieciowy jest podany w parametrze addr. Argument af może mieć jedną z następujących wartości:
Gdy wystąpi błąd, zwrócony zostanie NULL, a error_num będzie zawierać kod błędu według następującej listy:
W przypadku pomyślnego wyniku zapytania zwracany jest wskaźnik do struktury hostent zawierającej następujące pola:
RFC 2553.
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.
getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>
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 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.
10 listopada 2022 r. | Linux man-pages 6.03 |