lwres_getaddrinfo.html revision 8a66318e41ed14c5a88130e8c362610e8faa2121
689023771c563d8660e45d439a207e06e96de28fMark Andrews<!--
b29285b88f95055e1f399247994067f85882041cTinderbox User - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Copyright (C) 2001, 2003 Internet Software Consortium.
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater -
689023771c563d8660e45d439a207e06e96de28fMark Andrews - 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - copyright notice and this permission notice appear in all copies.
689023771c563d8660e45d439a207e06e96de28fMark Andrews -
689023771c563d8660e45d439a207e06e96de28fMark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
689023771c563d8660e45d439a207e06e96de28fMark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
689023771c563d8660e45d439a207e06e96de28fMark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
689023771c563d8660e45d439a207e06e96de28fMark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
689023771c563d8660e45d439a207e06e96de28fMark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
689023771c563d8660e45d439a207e06e96de28fMark Andrews - PERFORMANCE OF THIS SOFTWARE.
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User-->
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<!-- $Id: lwres_getaddrinfo.html,v 1.10 2004/03/05 08:32:20 marka Exp $ -->
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<HTML
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews><HEAD
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><TITLE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres_getaddrinfo</TITLE
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User><META
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="GENERATOR"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONTENT="Modular DocBook HTML Stylesheet Version 1.73
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein"></HEAD
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><BODY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBGCOLOR="#FFFFFF"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTEXT="#000000"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINK="#0000FF"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinVLINK="#840084"
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox UserALINK="#0000FF"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><H1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="AEN1"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres_getaddrinfo</A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></H1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFNAMEDIV"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="AEN8"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><H2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>Name</H2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres_getaddrinfo, lwres_freeaddrinfo&nbsp;--&nbsp;socket address structure to host and service name</DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFSYNOPSISDIV"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="AEN12"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></A
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User><H2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>Synopsis</H2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCSYNOPSIS"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="AEN13"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></A
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><PRE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCSYNOPSISINFO"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>#include &lt;lwres/netdb.h&gt;</PRE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCDEF"
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User>int
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinlwres_getaddrinfo</CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res);</CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCDEF"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>void
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox Userlwres_freeaddrinfo</CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(struct addrinfo *ai);</CODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></P
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews></DIV
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews><P
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User>If the operating system does not provide a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>struct addrinfo</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthe following structure is used:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<PRE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PROGRAMLISTING"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>struct addrinfo {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein int ai_family; /* PF_xxx */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein int ai_socktype; /* SOCK_xxx */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein size_t ai_addrlen; /* length of ai_addr */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein char *ai_canonname; /* canonical name for hostname */
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User struct sockaddr *ai_addr; /* binary address */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein struct addrinfo *ai_next; /* next structure in linked list */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein};</PRE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFSECT1"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox UserNAME="AEN29"
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater></A
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater><H2
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>DESCRIPTION</H2
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater><P
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater><TT
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic UpdaterCLASS="FUNCTION"
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>lwres_getaddrinfo()</TT
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis used to get a list of IP addresses and port numbers for host
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>hostname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinand service
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User>servname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThe function is the lightweight resolver's implementation of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark AndrewsCLASS="FUNCTION"
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews>getaddrinfo()</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinas defined in RFC2133.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>hostname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinand
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox UserCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>servname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrewsare pointers to null-terminated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinstrings or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User>NULL</SPAN
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User>hostname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis either a host name or a numeric host address string: a dotted decimal
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinIPv4 address or an IPv6 address.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>servname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis either a decimal port number or a service name as listed in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FILENAME"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>/etc/services</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.</P
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>hints</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis an optional pointer to a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic UpdaterCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>struct addrinfo</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThis structure can be used to provide hints concerning the type of socket
197486d6a95ef23b1b414e96577bad21e57801cdTinderbox Userthat the caller supports or wishes to use.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThe caller can supply the following structure elements in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>*hints</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>:
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="VARIABLELIST"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DL
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><TT
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark AndrewsCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_family</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></DT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DD
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>The protocol family that should be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWhen
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
689023771c563d8660e45d439a207e06e96de28fMark Andrews>ai_family</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis set to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>PF_UNSPEC</SPAN
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews>,
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrewsit means the caller will accept any protocol family supported by the
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrewsoperating system.</P
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews></DD
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews><DT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><TT
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic UpdaterCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_socktype</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></DT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DD
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>denotes the type of socket &mdash;
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews<SPAN
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark AndrewsCLASS="TYPE"
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews>SOCK_STREAM</SPAN
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews>SOCK_DGRAM</SPAN
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsor
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<SPAN
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark AndrewsCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>SOCK_RAW</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein&mdash; that is wanted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWhen
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>ai_socktype</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsis zero the caller will accept any socket type.</P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></DD
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DT
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User><TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
f051d76c87e055c6ea3879e0c97a76609df915ccMark Andrews>ai_protocol</TT
36da16fa31fa2a582afe67010ba449a57177fd2fAutomatic Updater></DT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DD
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews><P
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>indicates which transport protocol is wanted: IPPROTO_UDP or
65ad89971ee9973074cd11c207af92bf5440df01Automatic UpdaterIPPROTO_TCP.
65ad89971ee9973074cd11c207af92bf5440df01Automatic UpdaterIf
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater<TT
65ad89971ee9973074cd11c207af92bf5440df01Automatic UpdaterCLASS="CONSTANT"
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>ai_protocol</TT
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updateris zero the caller will accept any protocol.</P
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater></DD
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater><DT
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater><TT
1586d8cbac5d73031716561386f60758c6c332d5Mark AndrewsCLASS="CONSTANT"
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews>ai_flags</TT
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews></DT
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews><DD
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>Flag bits.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinIf the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>AI_CANONNAME</SPAN
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinbit is set, a successful call to
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCTION"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres_getaddrinfo()</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
083a5588a3488b6335ee7bafa505d00644c7c58dMark Andrewswill return a null-terminated string containing the canonical name
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updaterof the specified hostname in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
43b94483957d3168796a816ed86cf097518817dcTinderbox UserCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_canonname</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinof the first
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
7526edc7677371c366232de5f39a678b7dcda747Mark AndrewsCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>addrinfo</SPAN
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater>
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updaterstructure returned.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSetting the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>AI_PASSIVE</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsbit indicates that the returned socket address structure is intended
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrewsfor used in a call to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>bind</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(2)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinIn this case, if the hostname argument is a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
aeb7938001b22e811a910e1b36cdf452f9193865Automatic UpdaterCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>NULL</SPAN
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updaterpointer, then the IP address portion of the socket
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updateraddress structure will be set to
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>INADDR_ANY</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfor an IPv4 address or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>IN6ADDR_ANY_INIT</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfor an IPv6 address.</P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>When
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_flags</TT
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater>
b29285b88f95055e1f399247994067f85882041cTinderbox Userdoes not set the
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews<SPAN
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark AndrewsCLASS="TYPE"
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>AI_PASSIVE</SPAN
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater>
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updaterbit, the returned socket address structure will be ready
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updaterfor use in a call to
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater<SPAN
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic UpdaterCLASS="CITEREFENTRY"
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater><SPAN
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic UpdaterCLASS="REFENTRYTITLE"
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater>connect</SPAN
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater>(2)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfor a connection-oriented protocol or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>connect</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(2)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>sendto</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(2)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>,
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinor
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>sendmsg</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(2)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinif a connectionless protocol was chosen.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsThe IP address portion of the socket address structure will be
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrewsset to the loopback address if
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
689023771c563d8660e45d439a207e06e96de28fMark Andrews><I
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews>hostname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
689023771c563d8660e45d439a207e06e96de28fMark Andrews>
689023771c563d8660e45d439a207e06e96de28fMark Andrewsis a
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>NULL</SPAN
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>
689023771c563d8660e45d439a207e06e96de28fMark Andrewspointer and
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews>AI_PASSIVE</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis not set in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_flags</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.</P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>If
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_flags</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis set to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark AndrewsCLASS="TYPE"
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews>AI_NUMERICHOST</SPAN
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews>
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrewsit indicates that
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>hostname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinshould be treated as a numeric string defining an IPv4 or IPv6 address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinand no name resolution should be attempted.</P
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews></DD
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews></DL
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews></DIV
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews></P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>All other elements of the <SPAN
3a3705ef7747327df182bf8d009333d2472253d5Mark AndrewsCLASS="TYPE"
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>struct addrinfo</SPAN
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews> passed
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrewsvia <TT
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark AndrewsCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>hints</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein> must be zero.</P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>A <TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>hints</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein> of <SPAN
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox UserCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>NULL</SPAN
f051d76c87e055c6ea3879e0c97a76609df915ccMark Andrews> is treated as if
36da16fa31fa2a582afe67010ba449a57177fd2fAutomatic Updaterthe caller provided a <SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>struct addrinfo</SPAN
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater> initialized to zero
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updaterwith <TT
65ad89971ee9973074cd11c207af92bf5440df01Automatic UpdaterCLASS="CONSTANT"
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>ai_family</TT
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>set to
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater<TT
65ad89971ee9973074cd11c207af92bf5440df01Automatic UpdaterCLASS="CONSTANT"
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>PF_UNSPEC</TT
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>.</P
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater><P
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater>After a successful call to
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews<TT
1586d8cbac5d73031716561386f60758c6c332d5Mark AndrewsCLASS="FUNCTION"
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews>lwres_getaddrinfo()</TT
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews>,
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews<TT
1586d8cbac5d73031716561386f60758c6c332d5Mark AndrewsCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>*res</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrewsis a pointer to a linked list of one or more
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark AndrewsCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>addrinfo</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinstructures.
083a5588a3488b6335ee7bafa505d00644c7c58dMark AndrewsEach
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
43b94483957d3168796a816ed86cf097518817dcTinderbox User>struct addrinfo</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinin this list cn be processed by following
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthe
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
7526edc7677371c366232de5f39a678b7dcda747Mark AndrewsCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_next</TT
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater>
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updaterpointer, until a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>NULL</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpointer is encountered.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsThe three members
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_family</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_socktype</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinand
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_protocol</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinin each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinreturned
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>addrinfo</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinstructure contain the corresponding arguments for a call to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>socket</SPAN
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews>(2)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark AndrewsFor each
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<SPAN
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic UpdaterCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>addrinfo</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinstructure in the list, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_addr</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmember points to a filled-in socket address structure of length
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
d9184858dd5d7677050a813d444c281c56f697aaTinderbox UserCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai_addrlen</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.</P
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>All of the information returned by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCTION"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres_getaddrinfo()</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis dynamically allocated: the addrinfo structures, and the socket
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinaddress structures and canonical host name strings pointed to by the
689023771c563d8660e45d439a207e06e96de28fMark Andrews<TT
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CONSTANT"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>addrinfo</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>structures.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMemory allocated for the dynamically allocated structures created by
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrewsa successful call to
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<TT
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark AndrewsCLASS="FUNCTION"
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews>lwres_getaddrinfo()</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis released by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark AndrewsCLASS="FUNCTION"
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater>lwres_freeaddrinfo()</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark AndrewsCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>ai</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis a pointer to a
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews<SPAN
f4429c1c31ec32f05125baab1adcc4f09863f7afMark AndrewsCLASS="TYPE"
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>struct addrinfo</SPAN
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater>
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updatercreated by a call to
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater<TT
083a5588a3488b6335ee7bafa505d00644c7c58dMark AndrewsCLASS="FUNCTION"
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater>lwres_getaddrinfo()</TT
4f6469885c3d66367e3f8fb94e1f3c66115990b0Mark Andrews>.</P
43b94483957d3168796a816ed86cf097518817dcTinderbox User></DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFSECT1"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="AEN142"
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews></A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><H2
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater>RETURN VALUES</H2
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCTION"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres_getaddrinfo()</TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinreturns zero on success or one of the error codes listed in
689023771c563d8660e45d439a207e06e96de28fMark Andrews<SPAN
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>gai_strerror</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>(3)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinif an error occurs.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinIf both
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
eea6be913f9928255cab5f58ff27da41c1e8e23aAutomatic Updater>hostname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinand
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="PARAMETER"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>servname</I
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinare
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="TYPE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>NULL</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews<TT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="FUNCTION"
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater>lwres_getaddrinfo()</TT
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinreturns
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="ERRORCODE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>EAI_NONAME</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>.&#13;</P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein></DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><DIV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="REFSECT1"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinNAME="AEN154"
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User></A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><H2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>SEE ALSO</H2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><P
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
d9184858dd5d7677050a813d444c281c56f697aaTinderbox UserCLASS="CITEREFENTRY"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein><SPAN
1224c3b69b3d18f7127aa042644936af25a2d679Mark AndrewsCLASS="REFENTRYTITLE"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>lwres</SPAN
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews>(3)</SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<SPAN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLASS="CITEREFENTRY"
><SPAN
CLASS="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
>