lwres_getaddrinfo.html revision ddccd5811feff696ba460dabfb666ce61040f545
689023771c563d8660e45d439a207e06e96de28fMark Andrews<!--
39f68d7b64dce25e19f7132f6c46b3beabeed492Tinderbox User - Copyright (C) 2000, 2001 Internet Software Consortium.
689023771c563d8660e45d439a207e06e96de28fMark Andrews -
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater - Permission to use, copy, modify, and distribute this software for any
689023771c563d8660e45d439a207e06e96de28fMark Andrews - purpose with or without fee is hereby granted, provided that the above
689023771c563d8660e45d439a207e06e96de28fMark Andrews - copyright notice and this permission notice appear in all copies.
689023771c563d8660e45d439a207e06e96de28fMark Andrews -
689023771c563d8660e45d439a207e06e96de28fMark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
689023771c563d8660e45d439a207e06e96de28fMark Andrews - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
689023771c563d8660e45d439a207e06e96de28fMark Andrews - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
689023771c563d8660e45d439a207e06e96de28fMark Andrews - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
689023771c563d8660e45d439a207e06e96de28fMark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
689023771c563d8660e45d439a207e06e96de28fMark Andrews - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
689023771c563d8660e45d439a207e06e96de28fMark Andrews - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
689023771c563d8660e45d439a207e06e96de28fMark Andrews - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User-->
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<HTML
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><HEAD
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><TITLE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>lwres_getaddrinfo</TITLE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><META
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="GENERATOR"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONTENT="Modular DocBook HTML Stylesheet Version 1.61
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt"></HEAD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><BODY
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsBGCOLOR="#FFFFFF"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsTEXT="#000000"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsLINK="#0000FF"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsVLINK="#840084"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsALINK="#0000FF"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><H1
689023771c563d8660e45d439a207e06e96de28fMark Andrews><A
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="AEN1"
2637d30fbd235fe98145f4312b10cc41a13bf7dcJeremy C. Reed>lwres_getaddrinfo</A
689023771c563d8660e45d439a207e06e96de28fMark Andrews></H1
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DIV
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="REFNAMEDIV"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><A
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinNAME="AEN8"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein></A
acb4f5236966c2b680b949c1eda826948b24fc23Mark Andrews><H2
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews>Name</H2
1da14e066c23245c255dedb311d5a9cf0e5bb667Automatic Updater>lwres_getaddrinfo, lwres_freeaddrinfo&nbsp;--&nbsp;socket address structure to host and service name</DIV
15bbb8a1298a61e401ba16c944dc06049abb81bfAutomatic Updater><DIV
515c7f3c43f76d7b439905b18009105364b36100Automatic UpdaterCLASS="REFSYNOPSISDIV"
93235c1cba839a88013063ff8c440849d95dd222Automatic Updater><A
3b398443f0dca316ba7a6e057ba2d1b8ab4ddf70Tinderbox UserNAME="AEN12"
43b94483957d3168796a816ed86cf097518817dcTinderbox User></A
869a7fe8e0eb29a55f5e73dc8ba73a668df412ebTinderbox User><H2
39f68d7b64dce25e19f7132f6c46b3beabeed492Tinderbox User>Synopsis</H2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><DIV
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCSYNOPSIS"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><A
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinNAME="AEN13"
689023771c563d8660e45d439a207e06e96de28fMark Andrews></A
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><PRE
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCSYNOPSISINFO"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>#include &lt;lwres/netdb.h&gt;</PRE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><P
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews><CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCDEF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>int
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlwres_getaddrinfo</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res);</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein></P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><CODE
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCDEF"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>void
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlwres_freeaddrinfo</CODE
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(struct addrinfo *ai);</CODE
689023771c563d8660e45d439a207e06e96de28fMark Andrews></P
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></P
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt></DIV
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>If the operating system does not provide a
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews<SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>struct addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinthe following structure is used:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
689023771c563d8660e45d439a207e06e96de28fMark Andrews<PRE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="PROGRAMLISTING"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews>struct addrinfo {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
689023771c563d8660e45d439a207e06e96de28fMark Andrews int ai_family; /* PF_xxx */
689023771c563d8660e45d439a207e06e96de28fMark Andrews int ai_socktype; /* SOCK_xxx */
689023771c563d8660e45d439a207e06e96de28fMark Andrews int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
689023771c563d8660e45d439a207e06e96de28fMark Andrews size_t ai_addrlen; /* length of ai_addr */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein char *ai_canonname; /* canonical name for hostname */
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt struct sockaddr *ai_addr; /* binary address */
689023771c563d8660e45d439a207e06e96de28fMark Andrews struct addrinfo *ai_next; /* next structure in linked list */
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt};</PRE
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews></P
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt></DIV
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DIV
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFSECT1"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><A
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="AEN29"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein></A
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><H2
689023771c563d8660e45d439a207e06e96de28fMark Andrews>DESCRIPTION</H2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><P
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews><TT
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="FUNCTION"
4844ed026a9b5a91044e76399cee80a6514cbf0dMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis used to get a list of IP addresses and port numbers for host
1c153afce556ff3c687986fb7c4a0b0a7f5e7cd8Mark Andrews<TT
08c90261660649ca7d92065f6f13a61ec5a9a86dMark AndrewsCLASS="PARAMETER"
5c5c6d289db78e41f714007426a387498e15963cFrancis Dupont><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hostname</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsand service
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>servname</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsThe function is the lightweight resolver's implementation of
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein<TT
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>getaddrinfo()</TT
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrewsas defined in RFC2133.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hostname</I
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein></TT
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsand
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<TT
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="PARAMETER"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><I
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>servname</I
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews></TT
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Huntare pointers to null-terminated
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntstrings or
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt<SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="TYPE"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews>NULL</SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>.
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hostname</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinis either a host name or a numeric host address string: a dotted decimal
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntIPv4 address or an IPv6 address.
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="PARAMETER"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews><I
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>servname</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis either a decimal port number or a service name as listed in
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FILENAME"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>/etc/services</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.&#13;</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hints</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntis an optional pointer to a
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="TYPE"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews>struct addrinfo</SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>.
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsThis structure can be used to provide hints concerning the type of socket
689023771c563d8660e45d439a207e06e96de28fMark Andrewsthat the caller supports or wishes to use.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsThe caller can supply the following structure elements in
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
896f49f8bdee644cd8d10e320ea3084ca3f74e2aEvan Hunt>*hints</I
896f49f8bdee644cd8d10e320ea3084ca3f74e2aEvan Hunt></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></P
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><DIV
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="VARIABLELIST"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><DL
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DT
689023771c563d8660e45d439a207e06e96de28fMark Andrews><TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_family</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DT
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>The protocol family that should be used.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsWhen
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
4181218570e915959dd203c18f8cf4a03dca5d68Mark Andrews>ai_family</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis set to
761d135ed686601f36fe3d0d4aaa6bf41287bb0fEvan Hunt<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>PF_UNSPEC</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrewsit means the caller will accept any protocol family supported by the
689023771c563d8660e45d439a207e06e96de28fMark Andrewsoperating system.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DT
0eeaaaf0ae1ae2856b94886fa80f94c21e6f1bfdMark Andrews><TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_socktype</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DT
744589ff64e8d98b30b746cd7a1833f77830e185Mark Andrews><DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>denotes the type of socket &mdash;
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SOCK_STREAM</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
71bd858d8ed62672e7c23999dc7c02fd16a55089Evan HuntCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SOCK_DGRAM</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsor
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SOCK_RAW</SPAN
819b98479eff49ed93f57f4d65eb0ffe72136adcMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrews&mdash; that is wanted.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsWhen
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_socktype</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis zero the caller will accept any socket type.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DT
689023771c563d8660e45d439a207e06e96de28fMark Andrews><TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_protocol</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DT
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DD
ffcc1bdb3635ef9c6992b9c24d7c85ebab2c393bMark Andrews><P
ffcc1bdb3635ef9c6992b9c24d7c85ebab2c393bMark Andrews>indicates which transport protocol is wanted: IPPROTO_UDP or
281bab0f36eaedc56f859721fbdf45568b71cd60Mark AndrewsIPPROTO_TCP.
281bab0f36eaedc56f859721fbdf45568b71cd60Mark AndrewsIf
281bab0f36eaedc56f859721fbdf45568b71cd60Mark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
000a8970f840a0c27c5cc404826853c4674362acMark Andrews>ai_protocol</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis zero the caller will accept any protocol.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DT
689023771c563d8660e45d439a207e06e96de28fMark Andrews><TT
b239c8294a5653d21876d084e0c5b029f6b9fc5dMichael GraffCLASS="CONSTANT"
b239c8294a5653d21876d084e0c5b029f6b9fc5dMichael Graff>ai_flags</TT
fd780f3d47179d68ba2d4661fb9cac9ce1e74928Mark Andrews></DT
fd780f3d47179d68ba2d4661fb9cac9ce1e74928Mark Andrews><DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>Flag bits.
c5223c9cb7c22620d5ee6611228673e95b48a270Mark AndrewsIf the
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews<SPAN
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark AndrewsCLASS="TYPE"
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews>AI_CANONNAME</SPAN
7c693bfdbe488ca8fa4f0831c71f5809972f6cc7Mark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsbit is set, a successful call to
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewswill return a a null-terminated string containing the canonical name
fabf2ee6b01ee06a0de940b83d53cf57f9f79265Mark Andrewsof the specified hostname in
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
08c90261660649ca7d92065f6f13a61ec5a9a86dMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_canonname</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
058e44186b74531402c1f99088eb9dbe4926f8daMark Andrewsof the first
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
cfe92110ce4eaf19f7f3255d2961710879bdc9ddMark AndrewsCLASS="TYPE"
36a13a94c5636cbed464380e56f23fb9df363731Evan Hunt>addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
fabf2ee6b01ee06a0de940b83d53cf57f9f79265Mark Andrewsstructure returned.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsSetting the
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews<SPAN
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="TYPE"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>AI_PASSIVE</SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews>
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewsbit indicates that the returned socket address structure is intended
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewsfor used in a call to
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews<SPAN
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="CITEREFENTRY"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews><SPAN
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="REFENTRYTITLE"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>bind</SPAN
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews>(2)</SPAN
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews>.
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark AndrewsIn this case, if the hostname argument is a
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>NULL</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewspointer, then the IP address portion of the socket
819b98479eff49ed93f57f4d65eb0ffe72136adcMark Andrewsaddress structure will be set to
49210da3fb6a9268725b2a7db864ade531e5d403Mark Andrews<SPAN
819b98479eff49ed93f57f4d65eb0ffe72136adcMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>INADDR_ANY</SPAN
73fb13fe97cf2f1d93d5e2ea56583fdb2f40b6f3Mark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor an IPv4 address or
59d84d1b077678cb77f6cbcc53d8cfa60ff69cb7Mark Andrews<SPAN
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan HuntCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>IN6ADDR_ANY_INIT</SPAN
c9611b45736af157e2993c6ef852e55e8e24ca83Evan Hunt>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor an IPv6 address.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>When
48f929d315bafeeffe0a37082ab4c9661a928c39Mark Andrews<TT
ca84283333d22c64abfbcb87872dd5e6d9172c5aMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_flags</TT
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Hunt>
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Huntdoes not set the
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>AI_PASSIVE</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsbit, the returned socket address structure will be ready
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor use in a call to
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>connect</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(2)</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor a connection-oriented protocol or
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
3f42cf2f3e4dc7e740b4609ba7d7430292348f2bMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>connect</SPAN
3f42cf2f3e4dc7e740b4609ba7d7430292348f2bMark Andrews>(2)</SPAN
3f42cf2f3e4dc7e740b4609ba7d7430292348f2bMark Andrews>,
3f42cf2f3e4dc7e740b4609ba7d7430292348f2bMark Andrews
3f42cf2f3e4dc7e740b4609ba7d7430292348f2bMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>sendto</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(2)</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrewsor
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>sendmsg</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(2)</SPAN
778a01b1aa76273d4a28c7559a509edc7a00ec95Mark Andrews>
2f0c7f1de7c759aed38d2fa227aad07ab0d8ed66Evan Huntif a connectionless protocol was chosen.
a45a6ea2b03448751d7c44931e8ac7666e7cc2ceMark AndrewsThe IP address portion of the socket address structure will be
a1bc94109313bf4ebb6e6ff655d71d45582d2e43Mark Andrewsset to the loopback address if
a1bc94109313bf4ebb6e6ff655d71d45582d2e43Mark Andrews<TT
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan HuntCLASS="PARAMETER"
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews><I
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews>hostname</I
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews></TT
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews>
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewsis a
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews<SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="TYPE"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>NULL</SPAN
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Huntpointer and
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt<SPAN
8f7de3db7ec299ddeded142905f5eb1f22076353Evan HuntCLASS="TYPE"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>AI_PASSIVE</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrewsis not set in
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_flags</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.&#13;</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>If
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_flags</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis set to
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
72ac929f2bfe186ab4fe2d9425685d6ef419f200Mark Andrews>AI_NUMERICHOST</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinit indicates that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><I
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews>hostname</I
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsshould be treated as a numeric string defining an IPv4 or IPv6 address
689023771c563d8660e45d439a207e06e96de28fMark Andrewsand no name resolution should be attempted.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DD
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DL
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DIV
689023771c563d8660e45d439a207e06e96de28fMark Andrews>&#13;</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>All other elements of the
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>struct addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewspassed via
4844ed026a9b5a91044e76399cee80a6514cbf0dMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hints</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Huntmust be zero.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>A
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
819b98479eff49ed93f57f4d65eb0ffe72136adcMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hints</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsof
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>NULL</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis treated as if the caller provided a
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>struct addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
ffcc1bdb3635ef9c6992b9c24d7c85ebab2c393bMark Andrewsinitialized to zero with
ffcc1bdb3635ef9c6992b9c24d7c85ebab2c393bMark Andrews<TT
281bab0f36eaedc56f859721fbdf45568b71cd60Mark AndrewsCLASS="CONSTANT"
281bab0f36eaedc56f859721fbdf45568b71cd60Mark Andrews>ai_family</TT
281bab0f36eaedc56f859721fbdf45568b71cd60Mark Andrews>set to
689023771c563d8660e45d439a207e06e96de28fMark Andrews
000a8970f840a0c27c5cc404826853c4674362acMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>PF_UNSPEC</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.&#13;</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>After a successful call to
b239c8294a5653d21876d084e0c5b029f6b9fc5dMichael Graff<TT
b239c8294a5653d21876d084e0c5b029f6b9fc5dMichael GraffCLASS="FUNCTION"
fd780f3d47179d68ba2d4661fb9cac9ce1e74928Mark Andrews>lwres_getaddrinfo()</TT
fd780f3d47179d68ba2d4661fb9cac9ce1e74928Mark Andrews>,
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
c5223c9cb7c22620d5ee6611228673e95b48a270Mark Andrews><I
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews>*res</I
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews></TT
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews>
7c693bfdbe488ca8fa4f0831c71f5809972f6cc7Mark Andrewsis a pointer to a linked list of one or more
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsstructures.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsEach
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
08c90261660649ca7d92065f6f13a61ec5a9a86dMark Andrews>struct addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrews
058e44186b74531402c1f99088eb9dbe4926f8daMark Andrewsin this list cn be processed by following
689023771c563d8660e45d439a207e06e96de28fMark Andrewsthe
cfe92110ce4eaf19f7f3255d2961710879bdc9ddMark Andrews<TT
36a13a94c5636cbed464380e56f23fb9df363731Evan HuntCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_next</TT
fabf2ee6b01ee06a0de940b83d53cf57f9f79265Mark Andrews>
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrewspointer, until a
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews<SPAN
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="TYPE"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>NULL</SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews>
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewspointer is encountered.
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsThe three members
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews<TT
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="CONSTANT"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>ai_family</TT
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>,
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews<TT
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark AndrewsCLASS="CONSTANT"
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews>ai_socktype</TT
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews>,
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrewsand
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_protocol</TT
819b98479eff49ed93f57f4d65eb0ffe72136adcMark Andrews>
49210da3fb6a9268725b2a7db864ade531e5d403Mark Andrewsin each
819b98479eff49ed93f57f4d65eb0ffe72136adcMark Andrewsreturned
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
73fb13fe97cf2f1d93d5e2ea56583fdb2f40b6f3Mark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</SPAN
59d84d1b077678cb77f6cbcc53d8cfa60ff69cb7Mark Andrews>
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan Huntstructure contain the corresponding arguments for a call to
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
c9611b45736af157e2993c6ef852e55e8e24ca83Evan HuntCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>socket</SPAN
48f929d315bafeeffe0a37082ab4c9661a928c39Mark Andrews>(2)</SPAN
ca84283333d22c64abfbcb87872dd5e6d9172c5aMark Andrews>.
689023771c563d8660e45d439a207e06e96de28fMark Andrews
ac21f918f23ce95fd5be807428ee9e2c42319878Evan HuntFor each
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Hunt<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsstructure in the list, the
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_addr</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsmember points to a filled-in socket address structure of length
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_addrlen</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.&#13;</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews>All of the information returned by
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis dynamically allocated: the addrinfo structures, and the socket
689023771c563d8660e45d439a207e06e96de28fMark Andrewsaddress structures and canonical host name strings pointed to by the
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>structures.
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsMemory allocated for the dynamically allocated structures created by
689023771c563d8660e45d439a207e06e96de28fMark Andrewsa successful call to
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
a45a6ea2b03448751d7c44931e8ac7666e7cc2ceMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis released by
a1bc94109313bf4ebb6e6ff655d71d45582d2e43Mark Andrews<TT
a1bc94109313bf4ebb6e6ff655d71d45582d2e43Mark AndrewsCLASS="FUNCTION"
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan Hunt>lwres_freeaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews<TT
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="PARAMETER"
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews><I
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews>ai</I
689023771c563d8660e45d439a207e06e96de28fMark Andrews></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis a pointer to a
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="TYPE"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>struct addrinfo</SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>
689023771c563d8660e45d439a207e06e96de28fMark Andrews
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntcreated by a call to
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews<TT
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
0e507dbb816575e6220fe309e8ada68897ffcdbeMark Andrews>.</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DIV
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DIV
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFSECT1"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><A
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="AEN142"
689023771c563d8660e45d439a207e06e96de28fMark Andrews></A
689023771c563d8660e45d439a207e06e96de28fMark Andrews><H2
689023771c563d8660e45d439a207e06e96de28fMark Andrews>RETURN VALUES</H2
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
c5223c9cb7c22620d5ee6611228673e95b48a270Mark Andrews>
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrewsreturns zero on success or one of the error codes listed in
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews<SPAN
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
207f0a15bb486d8dc27cf5ff963fac6068ee2972Mark Andrews>gai_strerror</SPAN
a1bc94109313bf4ebb6e6ff655d71d45582d2e43Mark Andrews>(3)</SPAN
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan Hunt>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsif an error occurs.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsIf both
819b98479eff49ed93f57f4d65eb0ffe72136adcMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
689023771c563d8660e45d439a207e06e96de28fMark Andrews>hostname</I
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
92f60809e854ccf5f115883c6347e370da048848Mark Andrewsand
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews<TT
8f7de3db7ec299ddeded142905f5eb1f22076353Evan HuntCLASS="PARAMETER"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt><I
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>servname</I
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt></TT
59d84d1b077678cb77f6cbcc53d8cfa60ff69cb7Mark Andrews>
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan Huntare
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
c9611b45736af157e2993c6ef852e55e8e24ca83Evan HuntCLASS="TYPE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>NULL</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
48f929d315bafeeffe0a37082ab4c9661a928c39Mark AndrewsCLASS="FUNCTION"
ca84283333d22c64abfbcb87872dd5e6d9172c5aMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Huntreturns
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Hunt<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="ERRORCODE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>EAI_NONAME</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>.&#13;</P
689023771c563d8660e45d439a207e06e96de28fMark Andrews></DIV
689023771c563d8660e45d439a207e06e96de28fMark Andrews><DIV
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFSECT1"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><A
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="AEN154"
689023771c563d8660e45d439a207e06e96de28fMark Andrews></A
689023771c563d8660e45d439a207e06e96de28fMark Andrews><H2
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SEE ALSO</H2
689023771c563d8660e45d439a207e06e96de28fMark Andrews><P
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres</SPAN
fad5116b3d68e825d29f87a1d3cb41409f42e8f5Scott Mann>(3)</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(3)</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
a45a6ea2b03448751d7c44931e8ac7666e7cc2ceMark Andrews>lwres_freeaddrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(3)</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_gai_strerror</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(3)</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CITEREFENTRY"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt><SPAN
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="REFENTRYTITLE"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>RFC2133</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein></SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<SPAN
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="CITEREFENTRY"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="REFENTRYTITLE"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>getservbyname</SPAN
6043e41fcf5dc91aa8a981c966512d73bdec31c1Mark Andrews>(3)</SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrews>,
6043e41fcf5dc91aa8a981c966512d73bdec31c1Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein<SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="CITEREFENTRY"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein><SPAN
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark AndrewsCLASS="REFENTRYTITLE"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>bind</SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>(2)</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
<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
>