lwres_getaddrinfo.html revision ddccd5811feff696ba460dabfb666ce61040f545
39f68d7b64dce25e19f7132f6c46b3beabeed492Tinderbox User - Copyright (C) 2000, 2001 Internet Software Consortium.
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 - 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.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>lwres_getaddrinfo</TITLE
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="GENERATOR"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONTENT="Modular DocBook HTML Stylesheet Version 1.61
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsBGCOLOR="#FFFFFF"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsTEXT="#000000"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsLINK="#0000FF"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsVLINK="#840084"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsALINK="#0000FF"
2637d30fbd235fe98145f4312b10cc41a13bf7dcJeremy C. Reed>lwres_getaddrinfo</A
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="REFNAMEDIV"
1da14e066c23245c255dedb311d5a9cf0e5bb667Automatic Updater>lwres_getaddrinfo, lwres_freeaddrinfo -- socket address structure to host and service name</DIV
515c7f3c43f76d7b439905b18009105364b36100Automatic UpdaterCLASS="REFSYNOPSISDIV"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCSYNOPSIS"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCSYNOPSISINFO"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="FUNCDEF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlwres_getaddrinfo</CODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res);</CODE
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCDEF"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlwres_freeaddrinfo</CODE
689023771c563d8660e45d439a207e06e96de28fMark Andrews>(struct addrinfo *ai);</CODE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt>If the operating system does not provide a
689023771c563d8660e45d439a207e06e96de28fMark Andrews>struct addrinfo</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinthe following structure is used:
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 */
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFSECT1"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>DESCRIPTION</H2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="FUNCTION"
4844ed026a9b5a91044e76399cee80a6514cbf0dMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis used to get a list of IP addresses and port numbers for host
08c90261660649ca7d92065f6f13a61ec5a9a86dMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsThe function is the lightweight resolver's implementation of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>getaddrinfo()</TT
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrewsas defined in RFC2133.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="PARAMETER"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Huntare pointers to null-terminated
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinis either a host name or a numeric host address string: a dotted decimal
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntIPv4 address or an IPv6 address.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis either a decimal port number or a service name as listed in
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FILENAME"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntis an optional pointer to a
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews>struct addrinfo</SPAN
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 AndrewsCLASS="PARAMETER"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="VARIABLELIST"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_family</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>The protocol family that should be used.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
4181218570e915959dd203c18f8cf4a03dca5d68Mark Andrews>ai_family</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>PF_UNSPEC</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsit means the caller will accept any protocol family supported by the
689023771c563d8660e45d439a207e06e96de28fMark Andrewsoperating system.</P
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_socktype</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>denotes the type of socket —
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SOCK_STREAM</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SOCK_DGRAM</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SOCK_RAW</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews— that is wanted.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_socktype</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis zero the caller will accept any socket type.</P
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_protocol</TT
ffcc1bdb3635ef9c6992b9c24d7c85ebab2c393bMark Andrews>indicates which transport protocol is wanted: IPPROTO_UDP or
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
000a8970f840a0c27c5cc404826853c4674362acMark Andrews>ai_protocol</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis zero the caller will accept any protocol.</P
b239c8294a5653d21876d084e0c5b029f6b9fc5dMichael GraffCLASS="CONSTANT"
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrews>AI_CANONNAME</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsbit is set, a successful call to
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrewswill return a a null-terminated string containing the canonical name
fabf2ee6b01ee06a0de940b83d53cf57f9f79265Mark Andrewsof the specified hostname in
08c90261660649ca7d92065f6f13a61ec5a9a86dMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_canonname</TT
36a13a94c5636cbed464380e56f23fb9df363731Evan Hunt>addrinfo</SPAN
fabf2ee6b01ee06a0de940b83d53cf57f9f79265Mark Andrewsstructure returned.
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>AI_PASSIVE</SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewsbit indicates that the returned socket address structure is intended
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewsfor used in a call to
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="CITEREFENTRY"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="REFENTRYTITLE"
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark AndrewsIn this case, if the hostname argument is a
689023771c563d8660e45d439a207e06e96de28fMark Andrewspointer, then the IP address portion of the socket
819b98479eff49ed93f57f4d65eb0ffe72136adcMark Andrewsaddress structure will be set to
689023771c563d8660e45d439a207e06e96de28fMark Andrews>INADDR_ANY</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor an IPv4 address or
689023771c563d8660e45d439a207e06e96de28fMark Andrews>IN6ADDR_ANY_INIT</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor an IPv6 address.</P
ca84283333d22c64abfbcb87872dd5e6d9172c5aMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_flags</TT
ac21f918f23ce95fd5be807428ee9e2c42319878Evan Huntdoes not set the
689023771c563d8660e45d439a207e06e96de28fMark Andrews>AI_PASSIVE</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsbit, the returned socket address structure will be ready
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor use in a call to
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>connect</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsfor a connection-oriented protocol or
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
3f42cf2f3e4dc7e740b4609ba7d7430292348f2bMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>connect</SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>sendto</SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>sendmsg</SPAN
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
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan HuntCLASS="PARAMETER"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Hunt>AI_PASSIVE</SPAN
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrewsis not set in
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_flags</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_flags</TT
72ac929f2bfe186ab4fe2d9425685d6ef419f200Mark Andrews>AI_NUMERICHOST</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinit indicates that
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
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>All other elements of the
689023771c563d8660e45d439a207e06e96de28fMark Andrews>struct addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan Huntmust be zero.</P
819b98479eff49ed93f57f4d65eb0ffe72136adcMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis treated as if the caller provided a
689023771c563d8660e45d439a207e06e96de28fMark Andrews>struct addrinfo</SPAN
ffcc1bdb3635ef9c6992b9c24d7c85ebab2c393bMark Andrewsinitialized to zero with
281bab0f36eaedc56f859721fbdf45568b71cd60Mark AndrewsCLASS="CONSTANT"
281bab0f36eaedc56f859721fbdf45568b71cd60Mark Andrews>ai_family</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>PF_UNSPEC</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>After a successful call to
b239c8294a5653d21876d084e0c5b029f6b9fc5dMichael GraffCLASS="FUNCTION"
fd780f3d47179d68ba2d4661fb9cac9ce1e74928Mark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
7c693bfdbe488ca8fa4f0831c71f5809972f6cc7Mark Andrewsis a pointer to a linked list of one or more
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</SPAN
08c90261660649ca7d92065f6f13a61ec5a9a86dMark Andrews>struct addrinfo</SPAN
058e44186b74531402c1f99088eb9dbe4926f8daMark Andrewsin this list cn be processed by following
36a13a94c5636cbed464380e56f23fb9df363731Evan HuntCLASS="CONSTANT"
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrewspointer, until a
c631ff56bfe13f7b47ff01950364f4db423bf21aMark Andrewspointer is encountered.
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsThe three members
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark AndrewsCLASS="CONSTANT"
dc4fa197dd1031b3c966e5ee9d69a0f49ae1d9ceMark Andrews>ai_family</TT
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark AndrewsCLASS="CONSTANT"
6b79e960e6ba2991aeb02a6c39af255ab7f06d99Mark Andrews>ai_socktype</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_protocol</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</SPAN
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan Huntstructure contain the corresponding arguments for a call to
c9611b45736af157e2993c6ef852e55e8e24ca83Evan HuntCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>socket</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsstructure in the list, the
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrewsmember points to a filled-in socket address structure of length
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_addrlen</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>All of the information returned by
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis dynamically allocated: the addrinfo structures, and the socket
689023771c563d8660e45d439a207e06e96de28fMark Andrewsaddress structures and canonical host name strings pointed to by the
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>addrinfo</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsMemory allocated for the dynamically allocated structures created by
689023771c563d8660e45d439a207e06e96de28fMark Andrewsa successful call to
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis released by
a1bc94109313bf4ebb6e6ff655d71d45582d2e43Mark AndrewsCLASS="FUNCTION"
8e4f3f1cbceef520ba889270c993de0ac376a2a7Evan Hunt>lwres_freeaddrinfo()</TT
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis a pointer to a
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>struct addrinfo</SPAN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntcreated by a call to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFSECT1"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="AEN142"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>RETURN VALUES</H2
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="FUNCTION"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo()</TT
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark Andrewsreturns zero on success or one of the error codes listed in
dc6da18ccbb808d21f123cc6bda399b44ad11445Mark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
207f0a15bb486d8dc27cf5ff963fac6068ee2972Mark Andrews>gai_strerror</SPAN
689023771c563d8660e45d439a207e06e96de28fMark Andrewsif an error occurs.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
8f7de3db7ec299ddeded142905f5eb1f22076353Evan HuntCLASS="PARAMETER"
48f929d315bafeeffe0a37082ab4c9661a928c39Mark AndrewsCLASS="FUNCTION"
ca84283333d22c64abfbcb87872dd5e6d9172c5aMark Andrews>lwres_getaddrinfo()</TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="ERRORCODE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>EAI_NONAME</SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFSECT1"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsNAME="AEN154"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>SEE ALSO</H2
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_getaddrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
a45a6ea2b03448751d7c44931e8ac7666e7cc2ceMark Andrews>lwres_freeaddrinfo</SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="REFENTRYTITLE"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>lwres_gai_strerror</SPAN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLASS="CITEREFENTRY"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="REFENTRYTITLE"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>RFC2133</SPAN
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCLASS="CITEREFENTRY"
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="REFENTRYTITLE"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein>getservbyname</SPAN
c631ff56bfe13f7b47ff01950364f4db423bf21aMark AndrewsCLASS="CITEREFENTRY"
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark AndrewsCLASS="REFENTRYTITLE"