lwres_getaddrinfo.html revision 8de7014e56565605a51898a2a33a8b08fd3f1e57
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<!--
79b14df7653121c98527a72d1f6f94d589464f92Matt Mlinac - Copyright (C) 2000, 2001 Internet Software Consortium.
79b14df7653121c98527a72d1f6f94d589464f92Matt Mlinac -
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - Permission to use, copy, modify, and distribute this software for any
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - purpose with or without fee is hereby granted, provided that the above
1e8ab6896be404f4986bc2f085d42250352ec278Satyen Desai - copyright notice and this permission notice appear in all copies.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac -
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac-->
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<HTML
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><HEAD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TITLE
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo</TITLE
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><META
34e428fce4ebac1882793cab7c0b0fba2ec57ce2Matt MlinacNAME="GENERATOR"
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCONTENT="Modular DocBook HTML Stylesheet Version 1.61
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac"></HEAD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><BODY
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRY"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacBGCOLOR="#FFFFFF"
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacTEXT="#000000"
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacLINK="#0000FF"
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacVLINK="#840084"
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacALINK="#0000FF"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><H1
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN1"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo</A
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac></H1
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFNAMEDIV"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN8"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></A
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>Name</H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo, lwres_freeaddrinfo&nbsp;--&nbsp;socket address structure to host and service name</DIV
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><DIV
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="REFSYNOPSISDIV"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN12"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></A
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>Synopsis</H2
ecfa94db8f1cd6fd5c183623979af5fbf2540ea2Matt Mlinac><DIV
ecfa94db8f1cd6fd5c183623979af5fbf2540ea2Matt MlinacCLASS="FUNCSYNOPSIS"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN13"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></A
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><P
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac></P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><PRE
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCSYNOPSISINFO"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>#include &lt;lwres/netdb.h&gt;</PRE
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><CODE
ecfa94db8f1cd6fd5c183623979af5fbf2540ea2Matt Mlinac><CODE
ecfa94db8f1cd6fd5c183623979af5fbf2540ea2Matt MlinacCLASS="FUNCDEF"
574a49dbc59353f33a703fe13e26617f449c380dNicholas>int
574a49dbc59353f33a703fe13e26617f449c380dNicholaslwres_getaddrinfo</CODE
574a49dbc59353f33a703fe13e26617f449c380dNicholas>(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res);</CODE
574a49dbc59353f33a703fe13e26617f449c380dNicholas></P
574a49dbc59353f33a703fe13e26617f449c380dNicholas><P
574a49dbc59353f33a703fe13e26617f449c380dNicholas><CODE
574a49dbc59353f33a703fe13e26617f449c380dNicholas><CODE
574a49dbc59353f33a703fe13e26617f449c380dNicholasCLASS="FUNCDEF"
574a49dbc59353f33a703fe13e26617f449c380dNicholas>void
574a49dbc59353f33a703fe13e26617f449c380dNicholaslwres_freeaddrinfo</CODE
574a49dbc59353f33a703fe13e26617f449c380dNicholas>(struct addrinfo *ai);</CODE
574a49dbc59353f33a703fe13e26617f449c380dNicholas></P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>If the operating system does not provide a
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="TYPE"
44454bd6d54031278b057d47de28d5dfb79059b9Matt Mlinac>struct addrinfo</SPAN
44454bd6d54031278b057d47de28d5dfb79059b9Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacthe following structure is used:
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<PRE
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PROGRAMLISTING"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>struct addrinfo {
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac int ai_family; /* PF_xxx */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac int ai_socktype; /* SOCK_xxx */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac size_t ai_addrlen; /* length of ai_addr */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac char *ai_canonname; /* canonical name for hostname */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac struct sockaddr *ai_addr; /* binary address */
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac struct addrinfo *ai_next; /* next structure in linked list */
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac};</PRE
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFSECT1"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN29"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></A
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>DESCRIPTION</H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis used to get a list of IP addresses and port numbers for host
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hostname</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacand service
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>servname</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacThe function is the lightweight resolver's implementation of
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacas defined in RFC2133.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hostname</I
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac></TT
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac>
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinacand
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac<TT
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt MlinacCLASS="PARAMETER"
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac><I
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac>servname</I
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac></TT
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac>
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt Mlinacare pointers to null-terminated
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacstrings or
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>NULL</SPAN
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt MlinacCLASS="PARAMETER"
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hostname</I
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt Mlinac></TT
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis either a host name or a numeric host address string: a dotted decimal
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacIPv4 address or an IPv6 address.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>servname</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacis either a decimal port number or a service name as listed in
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FILENAME"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>/etc/services</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.&#13;</P
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hints</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis an optional pointer to a
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>struct addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacThis structure can be used to provide hints concerning the type of socket
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacthat the caller supports or wishes to use.
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacThe caller can supply the following structure elements in
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>*hints</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>:
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="VARIABLELIST"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DL
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_family</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DD
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>The protocol family that should be used.
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacWhen
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_family</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis set to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>PF_UNSPEC</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacit means the caller will accept any protocol family supported by the
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacoperating system.</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_socktype</TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac></DT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>denotes the type of socket &mdash;
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>SOCK_STREAM</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>SOCK_DGRAM</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacor
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>SOCK_RAW</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac&mdash; that is wanted.
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacWhen
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_socktype</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis zero the caller will accept any socket type.</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_protocol</TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac></DT
44454bd6d54031278b057d47de28d5dfb79059b9Matt Mlinac><DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>indicates which transport protocol is wanted: IPPROTO_UDP or
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacIPPROTO_TCP.
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacIf
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_protocol</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis zero the caller will accept any protocol.</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_flags</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>Flag bits.
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacIf the
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>AI_CANONNAME</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacbit is set, a successful call to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacwill return a a null-terminated string containing the canonical name
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacof the specified hostname in
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_canonname</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacof the first
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacstructure returned.
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacSetting the
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>AI_PASSIVE</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacbit indicates that the returned socket address structure is intended
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacfor used in a call to
e496ee88ae416d20e7ab24444ea8bd2a2f7bf3daMatt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>bind</SPAN
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>(2)</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacIn this case, if the hostname argument is a
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>NULL</SPAN
42744d7c94bcca6bb48c17c49735988075cdf1ceMatt Mlinac>
42744d7c94bcca6bb48c17c49735988075cdf1ceMatt Mlinacpointer, then the IP address portion of the socket
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinacaddress structure will be set to
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac>INADDR_ANY</SPAN
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac>
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinacfor an IPv4 address or
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac<SPAN
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt MlinacCLASS="TYPE"
2ebc78c44fd8d0db67023f14aea6bd57473262b4Matt Mlinac>IN6ADDR_ANY_INIT</SPAN
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacfor an IPv6 address.</P
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>When
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_flags</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacdoes not set the
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>AI_PASSIVE</SPAN
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac>
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinacbit, the returned socket address structure will be ready
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacfor use in a call to
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac<SPAN
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>connect</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>(2)</SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholas>
574a49dbc59353f33a703fe13e26617f449c380dNicholasfor a connection-oriented protocol or
574a49dbc59353f33a703fe13e26617f449c380dNicholas<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>connect</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>(2)</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>sendto</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>(2)</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
574a49dbc59353f33a703fe13e26617f449c380dNicholas
574a49dbc59353f33a703fe13e26617f449c380dNicholasor
574a49dbc59353f33a703fe13e26617f449c380dNicholas<SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholasCLASS="CITEREFENTRY"
574a49dbc59353f33a703fe13e26617f449c380dNicholas><SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholasCLASS="REFENTRYTITLE"
574a49dbc59353f33a703fe13e26617f449c380dNicholas>sendmsg</SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholas>(2)</SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholas>
574a49dbc59353f33a703fe13e26617f449c380dNicholasif a connectionless protocol was chosen.
574a49dbc59353f33a703fe13e26617f449c380dNicholasThe IP address portion of the socket address structure will be
574a49dbc59353f33a703fe13e26617f449c380dNicholasset to the loopback address if
574a49dbc59353f33a703fe13e26617f449c380dNicholas<TT
574a49dbc59353f33a703fe13e26617f449c380dNicholasCLASS="PARAMETER"
574a49dbc59353f33a703fe13e26617f449c380dNicholas><I
574a49dbc59353f33a703fe13e26617f449c380dNicholas>hostname</I
574a49dbc59353f33a703fe13e26617f449c380dNicholas></TT
574a49dbc59353f33a703fe13e26617f449c380dNicholas>
574a49dbc59353f33a703fe13e26617f449c380dNicholasis a
574a49dbc59353f33a703fe13e26617f449c380dNicholas<SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholasCLASS="TYPE"
574a49dbc59353f33a703fe13e26617f449c380dNicholas>NULL</SPAN
574a49dbc59353f33a703fe13e26617f449c380dNicholas>
574a49dbc59353f33a703fe13e26617f449c380dNicholaspointer and
574a49dbc59353f33a703fe13e26617f449c380dNicholas<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>AI_PASSIVE</SPAN
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis not set in
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_flags</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.&#13;</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>If
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_flags</TT
574a49dbc59353f33a703fe13e26617f449c380dNicholas>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis set to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>AI_NUMERICHOST</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacit indicates that
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hostname</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacshould be treated as a numeric string defining an IPv4 or IPv6 address
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacand no name resolution should be attempted.</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DD
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DL
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>&#13;</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>All other elements of the
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
34e428fce4ebac1882793cab7c0b0fba2ec57ce2Matt Mlinac>struct addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacpassed via
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hints</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacmust be zero.</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>A
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><I
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>hints</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacof
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>NULL</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis treated as if the caller provided a
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac<SPAN
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>struct addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacinitialized to zero with
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_family</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>set to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="CONSTANT"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>PF_UNSPEC</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.&#13;</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>After a successful call to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="PARAMETER"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><I
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>*res</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis a pointer to a linked list of one or more
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacstructures.
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacEach
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>struct addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacin this list cn be processed by following
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacthe
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>ai_next</TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacpointer, until a
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>NULL</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacpointer is encountered.
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacThe three members
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>ai_family</TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>,
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_socktype</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacand
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>ai_protocol</TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacin each
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacreturned
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacstructure contain the corresponding arguments for a call to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>socket</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>(2)</SPAN
44454bd6d54031278b057d47de28d5dfb79059b9Matt Mlinac>.
44454bd6d54031278b057d47de28d5dfb79059b9Matt Mlinac
44454bd6d54031278b057d47de28d5dfb79059b9Matt MlinacFor each
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacstructure in the list, the
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_addr</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacmember points to a filled-in socket address structure of length
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai_addrlen</TT
c372a53e2243a061f60e7c05ddce3daa0bd53dc2Matt Mlinac>.&#13;</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>All of the information returned by
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacis dynamically allocated: the addrinfo structures, and the socket
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacaddress structures and canonical host name strings pointed to by the
8bdeab8e5f52c0cdd50e526ace70d8dab5473ad0Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="CONSTANT"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>addrinfo</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>structures.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacMemory allocated for the dynamically allocated structures created by
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinaca successful call to
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinacis released by
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_freeaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>ai</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac>
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinacis a pointer to a
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>struct addrinfo</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinaccreated by a call to
dfb345c0a57cb22787f1cbceec6127b5bd6b0223Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFSECT1"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN142"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></A
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>RETURN VALUES</H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><TT
7bc91344b9accbc228c43012b27ea327aaaf3662Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacreturns zero on success or one of the error codes listed in
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>gai_strerror</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>(3)</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacif an error occurs.
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacIf both
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>hostname</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacand
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="PARAMETER"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>servname</I
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacare
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="TYPE"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac>NULL</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac<TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="FUNCTION"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres_getaddrinfo()</TT
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinacreturns
c372a53e2243a061f60e7c05ddce3daa0bd53dc2Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="ERRORCODE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>EAI_NONAME</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>.&#13;</P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></DIV
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><DIV
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt MlinacCLASS="REFSECT1"
b0a00ee1826fd7b9e83a4d279bc372df6a3e5123Matt Mlinac><A
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacNAME="AEN154"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac></A
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>SEE ALSO</H2
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><P
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>lwres</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>(3)</SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac>,
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac<SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="CITEREFENTRY"
6e6cca8e35550f7412d43290db5e137d8576be47Matt Mlinac><SPAN
6e6cca8e35550f7412d43290db5e137d8576be47Matt MlinacCLASS="REFENTRYTITLE"
>lwres_getaddrinfo</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>lwres_freeaddrinfo</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>lwres_gai_strerror</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>RFC2133</SPAN
></SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>getservbyname</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>bind</SPAN
>(2)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>connect</SPAN
>(2)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>sendto</SPAN
>(2)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>sendmsg</SPAN
>(2)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>socket</SPAN
>(2)</SPAN
>.</P
></DIV
></BODY
></HTML
>