.\" -*- coding: UTF-8 -*-
.\" Copyright 2000 Sam Varshavchik <mrsam@courier-mta.com>
.\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
.\" References: RFC 2553
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH GETIPNODEBYNAME 3 "15 września 2017 r." Linux "Podręcznik programisty Linuksa"
.SH NAZWA
getipnodebyname, getipnodebyaddr, freehostent \- określenie nazw i adresów
sieciowych maszyny
.SH SKŁADNIA
.nf
\fB#include <sys/types.h>\fP
\fB#include <sys/socket.h>\fP
\fB#include <netdb.h>\fP
.PP
\fBstruct hostent *getipnodebyname(const char *\fP\fIname\fP\fB, int \fP\fIaf\fP\fB,\fP
\fB                                int \fP\fIflags\fP\fB, int *\fP\fIerror_num\fP\fB);\fP
.PP
\fBstruct hostent *getipnodebyaddr(const void *\fP\fIaddr\fP\fB, size_t \fP\fIlen\fP\fB,\fP
\fB                                int \fP\fIaf\fP\fB, int *\fP\fIerror_num\fP\fB);\fP
.PP
\fBvoid freehostent(struct hostent *\fP\fIip\fP\fB);\fP
.fi
.SH OPIS
Te funkcje są przestarzałe (i niedostępne w glibc). Zamiast nich należy
używać \fBgetaddrinfo\fP(3)  i \fBgetnameinfo\fP(3).
.PP
Funkcje \fBgetipnodebyname\fP() i \fBgetipnodebyaddr\fP() zwracają nazwy i adresy
komputera sieciowego. Wynik jest wskaźnikiem do struktury o następującej
postaci:
.PP
.in +4n
.EX
struct hostent {
    char  *h_name;
    char **h_aliases;
    int    h_addrtype;
    int    h_length;
    char **h_addr_list;
};
.EE
.in
.PP
Funkcje te zastąpiły funkcje \fBgethostbyname\fP(3) i \fBgethostbyaddr\fP(3),
które mogły udostępniać jedynie adresy należące do rodziny adresów
sieciowych IPv4. Funkcje \fBgetipnodebyname\fP() i \fBgetipnodebyaddr\fP() mogą
udostępniać adresy należące do wielu rodzin adresów sieciowych.
.PP
W odróżnieniu od funkcji \fBgethostby\fP, funkcje te zwracają wskaźniki do
pamięci przydzielonej dynamicznie. Funkcja \fBfreehostent\fP() służy do
zwalniania przydzielonej dynamicznie pamięci, gdy wywołujący już nie
potrzebuje struktury \fIhostent\fP.
.SS "Argumenty funkcji getipnodebyname()"
Funkcja \fBgetipnodebyname\fP() wyszukuje adresy sieciowe komputera podanego w
argumencie \fIname\fP. Argument \fIaf\fP może zawierać jedną z następujących
wartości:
.TP 
\fBAF_INET\fP
Parametr \fIname\fP wskazuje na adres IPv4 (w postaci czterech rozdzielonych
kropkami liczb) lub na nazwę komputera sieci IPv4.
.TP 
\fBAF_INET6\fP
Parametr \fIname\fP wskazuje na adres IPv6 (w postaci szesnastkowej) lub na
nazwę komputera sieci IPv6.
.PP
Parametr \fIflags\fP zawiera dodatkowe opcje. Można podać więcej niż jedną
opcję przez wykonanie na nich bitowego OR. \fIflags\fP powinno być ustawione na
0, gdy żadne opcje nie są potrzebne.
.TP 
\fBAI_V4MAPPED\fP
Ten znacznik użyty łącznie z \fBAF_INET6\fP określa, że zapytanie ma dotyczyć
adresów IPv4, a nie IPv6; adresy IPv4 będą odwzorowane na adresy IPv6.
.TP 
\fBAI_ALL\fP
Ten znacznik użyty łącznie z \fBAI_V4MAPPED\fP określa, że zapytanie ma
dotyczyć zarówno adresów IPv4, jak i IPv6. Znalezione adresy IPv4 zostaną
odwzorowane na adresy IPv6.
.TP 
\fBAI_ADDRCONFIG\fP
Ten znacznik użyty łącznie z \fBAF_INET6\fP oznacza, że dalsze zapytania
dotyczące adresów IPv6 nie powinny być wykonywane, jeżeli system nie ma
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 ma adresu IPv4 przydzielonego do któregoś z interfejsów
sieciowych. Znacznik ten może zostać użyty samodzielnie lub łącznie ze
znacznikiem \fBAI_V4MAPPED\fP.
.TP 
\fBAI_DEFAULT\fP
Ten znacznik jest równoważny \fB(AI_ADDRCONFIG | AI_V4MAPPED)\fP.
.SS "Argumenty funkcji getipnodebyaddr()"
Funkcja \fBgetipnodebyaddr\fP()  poszukuje nazwy maszyny, której adres sieciowy
jest podany w parametrze \fIaddr\fP. Argument \fIaf\fP może mieć jedną z
następujących wartości:
.TP 
\fBAF_INET\fP
Parametr \fIaddr\fP wskazuje na strukturę \fIstruct in_addr\fP; \fIlen\fP musi mieć
wówczas wartość \fIsizeof(struct in_addr)\fP.
.TP 
\fBAF_INET6\fP
Parametr \fIaddr\fP wskazuje na strukturę \fIstruct in6_addr\fP; \fIlen\fP musi mieć
wówczas wartość \fIsizeof(struct in6_addr)\fP.
.SH "WARTOŚĆ ZWRACANA"
Gdy wystąpi błąd, zwrócony zostanie NULL, a \fIerror_num\fP będzie zawierać kod
błędu według następującej listy:
.TP 
\fBHOST_NOT_FOUND\fP
Nie znaleziono nazwy lub adresu sieciowego maszyny.
.TP 
\fBNO_ADDRESS\fP
Serwer DNS rozpoznał adres sieciowy lub nazwę maszyny, ale nie zwrócił
odpowiedzi. Może się to zdarzyć, gdy maszyn ma jedynie adresy IPv4, a
zapytanie dotyczyło jedynie informacji o IPv6, lub odwrotnie.
.TP 
\fBNO_RECOVERY\fP
Serwer DNS zwrócił błąd trwały.
.TP 
\fBTRY_AGAIN\fP
Serwer DNS zwrócił błąd tymczasowy. Może następnym razem będzie więcej
szczęścia.
.PP
W przypadku pomyślnego wyniku zapytania zwracany jest wskaźnik do struktury
\fIhostent\fP zawierającej następujące pola:
.TP 
\fIh_name\fP
Oficjalna nazwa sieciowa tej maszyny.
.TP 
\fIh_aliases\fP
Tablica wskaźników do nieoficjalnych aliasów tej samej maszyny. Tablica jest
zakończona wskaźnikiem NULL.
.TP 
\fIh_addrtype\fP
Kopia argumentu \fIaf\fP funkcji \fBgetipnodebyname\fP() lub
\fBgetipnodebyaddr\fP(3). \fIh_addrtype\fP będzie równe \fBAF_INET\fP, gdy argument
\fIaf\fP był równy \fBAF_INET\fP. \fIh_addrtype\fP będzie równe \fBAF_INET6\fP, gdy
parametr \fIaf\fP był równy \fBAF_INET6\fP.
.TP 
\fIh_length\fP
Będzie równe \fIsizeof(struct in_addr)\fP, gdy \fIh_addrtype\fP jest równe
\fBAF_INET\fP, lub \fIsizeof(struct in6_addr)\fP, gdy \fIh_addrtype\fP jest równe
\fBAF_INET6\fP.
.TP 
\fIh_addr_list\fP
Tablica zawierająca jeden lub więcej wskaźników do struktur adresów
sieciowych danego komputera. Tablica jest zakończona wskaźnikiem NULL.
.SH "ZGODNE Z"
.\" Not in POSIX.1-2001.
RFC\ 2553.
.SH 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.
.SH "ZOBACZ TAKŻE"
\fBgetaddrinfo\fP(3), \fBgetnameinfo\fP(3), \fBinet_ntop\fP(3), \fBinet_pton\fP(3)
.SH "O STRONIE"
Angielska wersja tej strony pochodzi z wydania 5.04 projektu Linux
\fIman\-pages\fP. Opis projektu, informacje dotyczące zgłaszania błędów oraz
najnowszą wersję oryginału można znaleźć pod adresem
\%https://www.kernel.org/doc/man\-pages/.

.SH TŁUMACZENIE
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
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres
.MT
manpages-pl-list@lists.sourceforge.net
.ME .
