File "addrinfo_8h_source.html"
Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/ruby19/share/doc/ruby/html/d5/df7/addrinfo_8h_source.html
File size: 41.82 KB
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ruby: ext/socket/addrinfo.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Ruby
 <span id="projectnumber">1.9.3p551(2014-11-13revision48407)</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_31cedd4509e06940f559c1ca2f722e02.html">ext</a></li><li class="navelem"><a class="el" href="../../dir_6df8f0b3caf41720dd2d2a13ae851a2d.html">socket</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">addrinfo.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d5/df7/addrinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * All rights reserved.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * modification, are permitted provided that the following conditions</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * are met:</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * 3. Neither the name of the project nor the names of its contributors</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * may be used to endorse or promote products derived from this software</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * without specific prior written permission.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * SUCH DAMAGE.</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef ADDR_INFO_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define ADDR_INFO_H</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/* special compatibility hack */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#undef EAI_ADDRFAMILY</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#undef EAI_AGAIN</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#undef EAI_BADFLAGS</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#undef EAI_FAIL</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#undef EAI_FAMILY</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#undef EAI_MEMORY</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#undef EAI_NODATA</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#undef EAI_NONAME</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#undef EAI_SERVICE</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#undef EAI_SOCKTYPE</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#undef EAI_SYSTEM</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#undef EAI_BADHINTS</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#undef EAI_PROTOCOL</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#undef EAI_MAX</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#undef AI_PASSIVE</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#undef AI_CANONNAME</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#undef AI_NUMERICHOST</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#undef AI_NUMERICSERV</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#undef AI_ALL</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#undef AI_ADDRCONFIG</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#undef AI_V4MAPPED</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#undef AI_DEFAULT</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#undef NI_NOFQDN</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#undef NI_NUMERICHOST</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#undef NI_NAMEREQD</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#undef NI_NUMERICSERV</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#undef NI_DGRAM</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#ifndef __P</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"># ifdef HAVE_PROTOTYPES</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"># define __P(args) args</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"># else</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f"> 68</a></span> <span class="preprocessor"># define __P(args) ()</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"># endif</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/* special compatibility hack -- end*/</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * Error return codes from getaddrinfo()</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> */</span></div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#aac746f03bb5099da0a427a99ecf1e36a"> 78</a></span> <span class="preprocessor">#define EAI_ADDRFAMILY 1 </span><span class="comment">/* address family for hostname not supported */</span><span class="preprocessor"></span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a7a0f2f10f8778fe201a68932d18434e5"> 79</a></span> <span class="preprocessor">#define EAI_AGAIN 2 </span><span class="comment">/* temporary failure in name resolution */</span><span class="preprocessor"></span></div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a3f3b38f2ac6688612a0fd20f3e6210be"> 80</a></span> <span class="preprocessor">#define EAI_BADFLAGS 3 </span><span class="comment">/* invalid value for ai_flags */</span><span class="preprocessor"></span></div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#acfc712115bf29357d33472da2209dc15"> 81</a></span> <span class="preprocessor">#define EAI_FAIL 4 </span><span class="comment">/* non-recoverable failure in name resolution */</span><span class="preprocessor"></span></div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a1d195add54c14a8903441848fb2f7da6"> 82</a></span> <span class="preprocessor">#define EAI_FAMILY 5 </span><span class="comment">/* ai_family not supported */</span><span class="preprocessor"></span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a33d8eb0c89167f95dcdaf23386631174"> 83</a></span> <span class="preprocessor">#define EAI_MEMORY 6 </span><span class="comment">/* memory allocation failure */</span><span class="preprocessor"></span></div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#aae1a32f26ffbb7461251d7c4a7c3a0a2"> 84</a></span> <span class="preprocessor">#define EAI_NODATA 7 </span><span class="comment">/* no address associated with hostname */</span><span class="preprocessor"></span></div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a0bb00f48d6ba1e8c55b7d85c8e3a19a7"> 85</a></span> <span class="preprocessor">#define EAI_NONAME 8 </span><span class="comment">/* hostname nor servname provided, or not known */</span><span class="preprocessor"></span></div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#ac7f08e3ee3c38f7c869beb5a44c9f651"> 86</a></span> <span class="preprocessor">#define EAI_SERVICE 9 </span><span class="comment">/* servname not supported for ai_socktype */</span><span class="preprocessor"></span></div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a110777c2c99dab32101324b3b1dd1df5"> 87</a></span> <span class="preprocessor">#define EAI_SOCKTYPE 10 </span><span class="comment">/* ai_socktype not supported */</span><span class="preprocessor"></span></div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a8e864fa95f26341c27127deb6237c88c"> 88</a></span> <span class="preprocessor">#define EAI_SYSTEM 11 </span><span class="comment">/* system error returned in errno */</span><span class="preprocessor"></span></div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a06480e6a72c58c6649d2ad19c98bff27"> 89</a></span> <span class="preprocessor">#define EAI_BADHINTS 12</span></div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#ac22bd096438839c946a37c0619c6eabf"> 90</a></span> <span class="preprocessor">#define EAI_PROTOCOL 13</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#afcb75b949ba49308678186c339c78fdc"> 91</a></span> <span class="preprocessor">#define EAI_MAX 14</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * Flag values for getaddrinfo()</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> */</span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#aec9e92ed53442d64cbc9b68d92ad970b"> 96</a></span> <span class="preprocessor">#define AI_PASSIVE 0x00000001 </span><span class="comment">/* get address to use bind() */</span><span class="preprocessor"></span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#ab2912e6cffeb2353df550f10bbe64cf4"> 97</a></span> <span class="preprocessor">#define AI_CANONNAME 0x00000002 </span><span class="comment">/* fill ai_canonname */</span><span class="preprocessor"></span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a2a7070b38894743c536630b2ab25dcef"> 98</a></span> <span class="preprocessor">#define AI_NUMERICHOST 0x00000004 </span><span class="comment">/* prevent name resolution */</span><span class="preprocessor"></span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a8739abe7bcb9470bcdb021e869b2a76f"> 99</a></span> <span class="preprocessor">#define AI_NUMERICSERV 0x00000008 </span><span class="comment">/* prevent service name resolution */</span><span class="preprocessor"></span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/* valid flags for addrinfo */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor">#ifndef __HAIKU__</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor">#undef AI_MASK</span></div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a8a1b9167c484fa490eefcdb4ad207929"> 103</a></span> <span class="preprocessor">#define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV)</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a1813fe6d7b10af5ea92ec03bd65ca39d"> 106</a></span> <span class="preprocessor">#define AI_ALL 0x00000100 </span><span class="comment">/* IPv6 and IPv4-mapped (with AI_V4MAPPED) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a105a4530f28974413451353b10c206ac"> 107</a></span> <span class="preprocessor">#define AI_V4MAPPED_CFG 0x00000200 </span><span class="comment">/* accept IPv4-mapped if kernel supports */</span><span class="preprocessor"></span></div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#abe581892df09df05b21fee09e1584659"> 108</a></span> <span class="preprocessor">#define AI_ADDRCONFIG 0x00000400 </span><span class="comment">/* only if any address is assigned */</span><span class="preprocessor"></span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#abbc1e064042dab1058c40d9cd1fc63f0"> 109</a></span> <span class="preprocessor">#define AI_V4MAPPED 0x00000800 </span><span class="comment">/* accept IPv4-mapped IPv6 address */</span><span class="preprocessor"></span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* special recommended flags for getipnodebyname */</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a618934c69d6209216d271383f8103a2d"> 111</a></span> <span class="preprocessor">#define AI_DEFAULT (AI_V4MAPPED_CFG | AI_ADDRCONFIG)</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> * Constants for getnameinfo()</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> */</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#ifndef NI_MAXHOST</span></div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#aebc53e498b2434654a1d44070d9ccd40"> 117</a></span> <span class="preprocessor">#define NI_MAXHOST 1025</span></div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#aefdeadf85356cc2fa0870d86a6055eb1"> 118</a></span> <span class="preprocessor">#define NI_MAXSERV 32</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/*</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> * Flag values for getnameinfo()</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> */</span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#ae58777c663bd21ceafae51b23ba493ca"> 124</a></span> <span class="preprocessor">#define NI_NOFQDN 0x00000001</span></div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a62f12304e7a43038f40cd579ad57829f"> 125</a></span> <span class="preprocessor">#define NI_NUMERICHOST 0x00000002</span></div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a21bd81bf080250b73395a02e70a4212e"> 126</a></span> <span class="preprocessor">#define NI_NAMEREQD 0x00000004</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#af6d346aae7109d19b9ccab7c510a3cad"> 127</a></span> <span class="preprocessor">#define NI_NUMERICSERV 0x00000008</span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#ac8270b4222f6d9ebf05cba519b48be49"> 128</a></span> <span class="preprocessor">#define NI_DGRAM 0x00000010</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#ifndef HAVE_TYPE_STRUCT_ADDRINFO</span></div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html"> 131</a></span> <span class="keyword">struct </span><a class="code" href="../../d6/d9d/structaddrinfo.html">addrinfo</a> {</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#ad0b4d4a9e417a5971162cba19597fcc3"> 132</a></span>  <span class="keywordtype">int</span> <a class="code" href="../../d6/d9d/structaddrinfo.html#ad0b4d4a9e417a5971162cba19597fcc3">ai_flags</a>; <span class="comment">/* AI_PASSIVE, AI_CANONNAME */</span></div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#af8ba790dc4c689a8b38c947924afe3ee"> 133</a></span>  <span class="keywordtype">int</span> <a class="code" href="../../d6/d9d/structaddrinfo.html#af8ba790dc4c689a8b38c947924afe3ee">ai_family</a>; <span class="comment">/* PF_xxx */</span></div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#a2b71233551bb3d551ad76ddd27ced896"> 134</a></span>  <span class="keywordtype">int</span> <a class="code" href="../../d6/d9d/structaddrinfo.html#a2b71233551bb3d551ad76ddd27ced896">ai_socktype</a>; <span class="comment">/* SOCK_xxx */</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#a70984f8a57396a9cb6593bc6c030a06c"> 135</a></span>  <span class="keywordtype">int</span> <a class="code" href="../../d6/d9d/structaddrinfo.html#a70984f8a57396a9cb6593bc6c030a06c">ai_protocol</a>; <span class="comment">/* 0 or IPPROTO_xxx for IPv4 and IPv6 */</span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#a225a0fc5785f7956c4444ef799317994"> 136</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="../../d6/d9d/structaddrinfo.html#a225a0fc5785f7956c4444ef799317994">ai_addrlen</a>; <span class="comment">/* length of ai_addr */</span></div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#a2a824b95c7720aacf8c166b43e912ec3"> 137</a></span>  <span class="keywordtype">char</span> *<a class="code" href="../../d6/d9d/structaddrinfo.html#a2a824b95c7720aacf8c166b43e912ec3">ai_canonname</a>; <span class="comment">/* canonical name for hostname */</span></div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#a2a6343a77144ee3079f6e9e0b66c715c"> 138</a></span>  <span class="keyword">struct </span>sockaddr *<a class="code" href="../../d6/d9d/structaddrinfo.html#a2a6343a77144ee3079f6e9e0b66c715c">ai_addr</a>; <span class="comment">/* binary address */</span></div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="../../d6/d9d/structaddrinfo.html#ac8d379469addd7ebbb7cd8f9656268d2"> 139</a></span>  <span class="keyword">struct </span><a class="code" href="../../d6/d9d/structaddrinfo.html">addrinfo</a> *<a class="code" href="../../d6/d9d/structaddrinfo.html#ac8d379469addd7ebbb7cd8f9656268d2">ai_next</a>; <span class="comment">/* next structure in linked list */</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> };</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor">#ifndef HAVE_GETADDRINFO</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#undef getaddrinfo</span></div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a78922d97b0249df72483a103338d2629"> 145</a></span> <span class="preprocessor">#define getaddrinfo getaddrinfo__compat</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor">#ifndef HAVE_GETNAMEINFO</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor">#undef getnameinfo</span></div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#ac0293040c0a9b5b7a9f15ac5e128f750"> 149</a></span> <span class="preprocessor">#define getnameinfo getnameinfo__compat</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor">#ifndef HAVE_FREEHOSTENT</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#undef freehostent</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a11ac494153e89cbf9cccde41a5d5afba"> 153</a></span> <span class="preprocessor">#define freehostent freehostent__compat</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor">#ifndef HAVE_FREEADDRINFO</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor">#undef freeaddrinfo</span></div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#adef9f0657cf2d7402f4a63fc37a2e5e9"> 157</a></span> <span class="preprocessor">#define freeaddrinfo freeaddrinfo__compat</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/df7/addrinfo_8h.html#a78922d97b0249df72483a103338d2629">getaddrinfo</a> <a class="code" href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f">__P</a>((</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, <span class="keyword">const</span> <span class="keywordtype">char</span> *servname,</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="../../d6/d9d/structaddrinfo.html">addrinfo</a> *hints,</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">struct</span> <a class="code" href="../../d6/d9d/structaddrinfo.html">addrinfo</a> **res));</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/df7/addrinfo_8h.html#ac0293040c0a9b5b7a9f15ac5e128f750">getnameinfo</a> <a class="code" href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f">__P</a>((</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keyword">struct</span> sockaddr *sa,</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  socklen_t salen,</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordtype">char</span> *host,</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  socklen_t hostlen,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordtype">char</span> *serv,</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  socklen_t servlen,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordtype">int</span> flags));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="../../d5/df7/addrinfo_8h.html#a11ac494153e89cbf9cccde41a5d5afba">freehostent</a> <a class="code" href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f">__P</a>((<span class="keyword">struct</span> hostent *));</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="../../d5/df7/addrinfo_8h.html#adef9f0657cf2d7402f4a63fc37a2e5e9">freeaddrinfo</a> <a class="code" href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f">__P</a>((<span class="keyword">struct</span> <a class="code" href="../../d6/d9d/structaddrinfo.html">addrinfo</a> *));</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">extern</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor">#ifdef GAI_STRERROR_CONST</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">const</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">char</span> *<a class="code" href="../../d5/dab/getaddrinfo_8c.html#af47887744295c850d5dc72b26c5050b9">gai_strerror</a> <a class="code" href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f">__P</a>((<span class="keywordtype">int</span>));</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* In case there is no definition of offsetof() provided - though any proper</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">Standard C system should have one. */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor">#ifndef offsetof</span></div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a52258ab7b9c756057839635064b67d81"> 186</a></span> <span class="preprocessor">#define offsetof(p_type,field) ((size_t)&(((p_type *)0)->field))</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="addrinfo_8h_html_adef9f0657cf2d7402f4a63fc37a2e5e9"><div class="ttname"><a href="../../d5/df7/addrinfo_8h.html#adef9f0657cf2d7402f4a63fc37a2e5e9">freeaddrinfo</a></div><div class="ttdeci">#define freeaddrinfo</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00157">addrinfo.h:157</a></div></div>
<div class="ttc" id="addrinfo_8h_html_a11ac494153e89cbf9cccde41a5d5afba"><div class="ttname"><a href="../../d5/df7/addrinfo_8h.html#a11ac494153e89cbf9cccde41a5d5afba">freehostent</a></div><div class="ttdeci">#define freehostent</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00153">addrinfo.h:153</a></div></div>
<div class="ttc" id="addrinfo_8h_html_a78922d97b0249df72483a103338d2629"><div class="ttname"><a href="../../d5/df7/addrinfo_8h.html#a78922d97b0249df72483a103338d2629">getaddrinfo</a></div><div class="ttdeci">#define getaddrinfo</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00145">addrinfo.h:145</a></div></div>
<div class="ttc" id="addrinfo_8h_html_a7bce0c2cf7cc14cd0c515fab661da99f"><div class="ttname"><a href="../../d5/df7/addrinfo_8h.html#a7bce0c2cf7cc14cd0c515fab661da99f">__P</a></div><div class="ttdeci">#define __P(args)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00068">addrinfo.h:68</a></div></div>
<div class="ttc" id="structaddrinfo_html_a2a824b95c7720aacf8c166b43e912ec3"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#a2a824b95c7720aacf8c166b43e912ec3">addrinfo::ai_canonname</a></div><div class="ttdeci">char * ai_canonname</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00137">addrinfo.h:137</a></div></div>
<div class="ttc" id="getaddrinfo_8c_html_af47887744295c850d5dc72b26c5050b9"><div class="ttname"><a href="../../d5/dab/getaddrinfo_8c.html#af47887744295c850d5dc72b26c5050b9">gai_strerror</a></div><div class="ttdeci">char * gai_strerror(int ecode)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dab/getaddrinfo_8c_source.html#l00202">getaddrinfo.c:202</a></div></div>
<div class="ttc" id="addrinfo_8h_html_ac0293040c0a9b5b7a9f15ac5e128f750"><div class="ttname"><a href="../../d5/df7/addrinfo_8h.html#ac0293040c0a9b5b7a9f15ac5e128f750">getnameinfo</a></div><div class="ttdeci">#define getnameinfo</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00149">addrinfo.h:149</a></div></div>
<div class="ttc" id="structaddrinfo_html_a70984f8a57396a9cb6593bc6c030a06c"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#a70984f8a57396a9cb6593bc6c030a06c">addrinfo::ai_protocol</a></div><div class="ttdeci">int ai_protocol</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00135">addrinfo.h:135</a></div></div>
<div class="ttc" id="structaddrinfo_html_a2b71233551bb3d551ad76ddd27ced896"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#a2b71233551bb3d551ad76ddd27ced896">addrinfo::ai_socktype</a></div><div class="ttdeci">int ai_socktype</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00134">addrinfo.h:134</a></div></div>
<div class="ttc" id="structaddrinfo_html_ac8d379469addd7ebbb7cd8f9656268d2"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#ac8d379469addd7ebbb7cd8f9656268d2">addrinfo::ai_next</a></div><div class="ttdeci">struct addrinfo * ai_next</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00139">addrinfo.h:139</a></div></div>
<div class="ttc" id="structaddrinfo_html_a225a0fc5785f7956c4444ef799317994"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#a225a0fc5785f7956c4444ef799317994">addrinfo::ai_addrlen</a></div><div class="ttdeci">size_t ai_addrlen</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00136">addrinfo.h:136</a></div></div>
<div class="ttc" id="structaddrinfo_html"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html">addrinfo</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00131">addrinfo.h:131</a></div></div>
<div class="ttc" id="structaddrinfo_html_ad0b4d4a9e417a5971162cba19597fcc3"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#ad0b4d4a9e417a5971162cba19597fcc3">addrinfo::ai_flags</a></div><div class="ttdeci">int ai_flags</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00132">addrinfo.h:132</a></div></div>
<div class="ttc" id="structaddrinfo_html_a2a6343a77144ee3079f6e9e0b66c715c"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#a2a6343a77144ee3079f6e9e0b66c715c">addrinfo::ai_addr</a></div><div class="ttdeci">struct sockaddr * ai_addr</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00138">addrinfo.h:138</a></div></div>
<div class="ttc" id="structaddrinfo_html_af8ba790dc4c689a8b38c947924afe3ee"><div class="ttname"><a href="../../d6/d9d/structaddrinfo.html#af8ba790dc4c689a8b38c947924afe3ee">addrinfo::ai_family</a></div><div class="ttdeci">int ai_family</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df7/addrinfo_8h_source.html#l00133">addrinfo.h:133</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>