Home | History | Annotate | Download | only in c
      1 {{+bindTo:partials.standard_nacl_api}}
      2 <h1>PPB_NetAddress Struct Reference</h1>
      3 <div id="doxygen-ref">
      4 {{- dummy div to appease doxygen -}}
      5   <div>
      6 <!-- Generated by Doxygen 1.7.6.1 -->
      7 
      8 
      9 </div>
     10 <!--header-->
     11 <div class="contents">
     12 <!-- doxytag: class="PPB_NetAddress" --><h2>
     13 Data Fields</h2><table class="memberdecls">
     14 
     15 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">CreateFromIPv4Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
     16 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">CreateFromIPv6Address</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
     17 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">IsNetAddress</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
     18 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">GetFamily</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td></tr>
     19 <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">DescribeAsString</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)</td></tr>
     20 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">DescribeAsIPv4Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td></tr>
     21 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">DescribeAsIPv6Address</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td></tr>
     22 </table>
     23 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
     24 <div class="textblock"><p>The <code>PPB_NetAddress</code> interface provides operations on network addresses. </p>
     25 </div><hr /><h2>Field Documentation</h2>
     26 <a class="anchor" id="a82fab17541bec1817622932f102afdf9"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv4Address" ref="a82fab17541bec1817622932f102afdf9" args=")(PP_Instance instance, const struct PP_NetAddress_IPv4 *ipv4_addr)" -->
     27 <div class="memitem">
     28 <div class="memproto">
     29 <table class="memname">
     30 <tr>
     31 <td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a82fab17541bec1817622932f102afdf9">PPB_NetAddress::CreateFromIPv4Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
     32 </tr>
     33 </table>
     34 </div>
     35 <div class="memdoc">
     36 <p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv4 address. </p>
     37 <dl class="params"><dt><b>Parameters:</b></dt><dd>
     38 <table class="params">
     39 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
     40 <tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address.</td></tr>
     41 </table>
     42 </dd>
     43 </dl>
     44 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv4_addr</code> or 0 on failure. </dd></dl>
     45 </div>
     46 </div>
     47 <a class="anchor" id="a7531096a8ddbda89e83b1b57958337df"></a><!-- doxytag: member="PPB_NetAddress::CreateFromIPv6Address" ref="a7531096a8ddbda89e83b1b57958337df" args=")(PP_Instance instance, const struct PP_NetAddress_IPv6 *ipv6_addr)" -->
     48 <div class="memitem">
     49 <div class="memproto">
     50 <table class="memname">
     51 <tr>
     52 <td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7531096a8ddbda89e83b1b57958337df">PPB_NetAddress::CreateFromIPv6Address</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
     53 </tr>
     54 </table>
     55 </div>
     56 <div class="memdoc">
     57 <p>Creates a <code>PPB_NetAddress</code> resource with the specified IPv6 address. </p>
     58 <dl class="params"><dt><b>Parameters:</b></dt><dd>
     59 <table class="params">
     60 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
     61 <tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address.</td></tr>
     62 </table>
     63 </dd>
     64 </dl>
     65 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> representing the same address as <code>ipv6_addr</code> or 0 on failure. </dd></dl>
     66 </div>
     67 </div>
     68 <a class="anchor" id="af04c1b08407b0db414d796d2c733f0c0"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv4Address" ref="af04c1b08407b0db414d796d2c733f0c0" args=")(PP_Resource addr, struct PP_NetAddress_IPv4 *ipv4_addr)" -->
     69 <div class="memitem">
     70 <div class="memproto">
     71 <table class="memname">
     72 <tr>
     73 <td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#af04c1b08407b0db414d796d2c733f0c0">PPB_NetAddress::DescribeAsIPv4Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv4.html">PP_NetAddress_IPv4</a> *ipv4_addr)</td>
     74 </tr>
     75 </table>
     76 </div>
     77 <div class="memdoc">
     78 <p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p>
     79 <p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p>
     80 <dl class="params"><dt><b>Parameters:</b></dt><dd>
     81 <table class="params">
     82 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
     83 <tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv4.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv4</a></code> structure to store the result.</td></tr>
     84 </table>
     85 </dd>
     86 </dl>
     87 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
     88 </div>
     89 </div>
     90 <a class="anchor" id="a613670dcb447c3c32c2b39c8faa14b88"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsIPv6Address" ref="a613670dcb447c3c32c2b39c8faa14b88" args=")(PP_Resource addr, struct PP_NetAddress_IPv6 *ipv6_addr)" -->
     91 <div class="memitem">
     92 <div class="memproto">
     93 <table class="memname">
     94 <tr>
     95 <td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a613670dcb447c3c32c2b39c8faa14b88">PPB_NetAddress::DescribeAsIPv6Address</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, struct <a class="el" href="struct_p_p___net_address___i_pv6.html">PP_NetAddress_IPv6</a> *ipv6_addr)</td>
     96 </tr>
     97 </table>
     98 </div>
     99 <div class="memdoc">
    100 <p>Fills a <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p>
    101 <p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p>
    102 <dl class="params"><dt><b>Parameters:</b></dt><dd>
    103 <table class="params">
    104 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
    105 <tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code><a class="el" href="struct_p_p___net_address___i_pv6.html" title="All members are expressed in network byte order.">PP_NetAddress_IPv6</a></code> structure to store the result.</td></tr>
    106 </table>
    107 </dd>
    108 </dl>
    109 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> value indicating whether the operation succeeded. </dd></dl>
    110 </div>
    111 </div>
    112 <a class="anchor" id="a7552e536b89cc3aa4415f41a5c7ee7ee"></a><!-- doxytag: member="PPB_NetAddress::DescribeAsString" ref="a7552e536b89cc3aa4415f41a5c7ee7ee" args=")(PP_Resource addr, PP_Bool include_port)" -->
    113 <div class="memitem">
    114 <div class="memproto">
    115 <table class="memname">
    116 <tr>
    117 <td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a7552e536b89cc3aa4415f41a5c7ee7ee">PPB_NetAddress::DescribeAsString</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr, <a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a> include_port)<code> [read]</code></td>
    118 </tr>
    119 </table>
    120 </div>
    121 <div class="memdoc">
    122 <p>Returns a human-readable description of the network address. </p>
    123 <p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p>
    124 <dl class="params"><dt><b>Parameters:</b></dt><dd>
    125 <table class="params">
    126 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address. </td></tr>
    127 <tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr>
    128 </table>
    129 </dd>
    130 </dl>
    131 <dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on success; an undefined <code><a class="el" href="struct_p_p___var.html" title="The PP_VAR struct is a variant data type and can contain any value of one of the types named in the P...">PP_Var</a></code> on failure. </dd></dl>
    132 </div>
    133 </div>
    134 <a class="anchor" id="a139a1f09d00f0dcfce2eaad70af24124"></a><!-- doxytag: member="PPB_NetAddress::GetFamily" ref="a139a1f09d00f0dcfce2eaad70af24124" args=")(PP_Resource addr)" -->
    135 <div class="memitem">
    136 <div class="memproto">
    137 <table class="memname">
    138 <tr>
    139 <td class="memname"><a class="el" href="group___enums.html#ga43636bcadf9aa312a4c345d210ae6c55">PP_NetAddress_Family</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a139a1f09d00f0dcfce2eaad70af24124">PPB_NetAddress::GetFamily</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> addr)</td>
    140 </tr>
    141 </table>
    142 </div>
    143 <div class="memdoc">
    144 <p>Gets the address family. </p>
    145 <dl class="params"><dt><b>Parameters:</b></dt><dd>
    146 <table class="params">
    147 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>A <code>PP_Resource</code> corresponding to a network address.</td></tr>
    148 </table>
    149 </dd>
    150 </dl>
    151 <dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl>
    152 </div>
    153 </div>
    154 <a class="anchor" id="a13f63cdfe4ee93b2539f73ec23739422"></a><!-- doxytag: member="PPB_NetAddress::IsNetAddress" ref="a13f63cdfe4ee93b2539f73ec23739422" args=")(PP_Resource resource)" -->
    155 <div class="memitem">
    156 <div class="memproto">
    157 <table class="memname">
    158 <tr>
    159 <td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___net_address__1__0.html#a13f63cdfe4ee93b2539f73ec23739422">PPB_NetAddress::IsNetAddress</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
    160 </tr>
    161 </table>
    162 </div>
    163 <div class="memdoc">
    164 <p>Determines if a given resource is a network address. </p>
    165 <dl class="params"><dt><b>Parameters:</b></dt><dd>
    166 <table class="params">
    167 <tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> to check.</td></tr>
    168 </table>
    169 </dd>
    170 </dl>
    171 <dl class="return"><dt><b>Returns:</b></dt><dd><code>PP_TRUE</code> if the input is a <code>PPB_NetAddress</code> resource; <code>PP_FALSE</code> otherwise. </dd></dl>
    172 </div>
    173 </div>
    174 <hr />The documentation for this struct was generated from the following file:<ul>
    175 <li><a class="el" href="ppb__net__address_8h.html">ppb_net_address.h</a></li>
    176 </ul>
    177 </div><!-- contents -->
    178 </div>
    179 {{/partials.standard_nacl_api}}
    180