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
   &#160;<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&amp;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>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<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>&#160;<span class="comment"> * All rights reserved.</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<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>&#160;<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>&#160;<span class="comment"> * are met:</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *    without specific prior written permission.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS&#39;&#39; AND</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> * SUCH DAMAGE.</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifndef ADDR_INFO_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define ADDR_INFO_H</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* special compatibility hack */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#undef EAI_ADDRFAMILY</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#undef EAI_AGAIN</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#undef EAI_BADFLAGS</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#undef EAI_FAIL</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#undef EAI_FAMILY</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#undef EAI_MEMORY</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#undef EAI_NODATA</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#undef EAI_NONAME</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#undef EAI_SERVICE</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#undef EAI_SOCKTYPE</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#undef EAI_SYSTEM</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#undef EAI_BADHINTS</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#undef EAI_PROTOCOL</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#undef EAI_MAX</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#undef AI_PASSIVE</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#undef AI_CANONNAME</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#undef AI_NUMERICHOST</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#undef AI_NUMERICSERV</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#undef AI_ALL</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#undef AI_ADDRCONFIG</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#undef AI_V4MAPPED</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#undef AI_DEFAULT</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#undef NI_NOFQDN</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#undef NI_NUMERICHOST</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#undef NI_NAMEREQD</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#undef NI_NUMERICSERV</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#undef NI_DGRAM</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#ifndef __P</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"># ifdef HAVE_PROTOTYPES</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#  define __P(args) args</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<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>&#160;<span class="preprocessor">#  define __P(args) ()</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"># endif</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">/* special compatibility hack -- end*/</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> * Error return codes from getaddrinfo()</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="preprocessor">#define EAI_MAX         14</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * Flag values for getaddrinfo()</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment">/* valid flags for addrinfo */</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#ifndef __HAIKU__</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<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>&#160;<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>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="../../d5/df7/addrinfo_8h.html#a1813fe6d7b10af5ea92ec03bd65ca39d">  106</a></span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> * Constants for getnameinfo()</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<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>&#160;<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>&#160;<span class="preprocessor">#define NI_MAXSERV      32</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"> * Flag values for getnameinfo()</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="preprocessor">#define NI_DGRAM        0x00000010</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<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>&#160;<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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;};</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#ifndef HAVE_GETADDRINFO</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<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>&#160;<span class="preprocessor">#define getaddrinfo getaddrinfo__compat</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">#ifndef HAVE_GETNAMEINFO</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<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>&#160;<span class="preprocessor">#define getnameinfo getnameinfo__compat</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#ifndef HAVE_FREEHOSTENT</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<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>&#160;<span class="preprocessor">#define freehostent freehostent__compat</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#ifndef HAVE_FREEADDRINFO</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<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>&#160;<span class="preprocessor">#define freeaddrinfo freeaddrinfo__compat</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<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>&#160;        <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>&#160;        <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>&#160;        <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>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<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>&#160;        <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>&#160;        socklen_t salen,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordtype">char</span> *host,</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        socklen_t hostlen,</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordtype">char</span> *serv,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        socklen_t servlen,</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="keywordtype">int</span> flags));</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<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>&#160;<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>&#160;<span class="keyword">extern</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#ifdef GAI_STRERROR_CONST</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">const</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<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>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<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>&#160;<span class="comment">Standard C system should have one. */</span></div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<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>&#160;<span class="preprocessor">#define offsetof(p_type,field) ((size_t)&amp;(((p_type *)0)-&gt;field))</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>