{{+bindTo:partials.standard_nacl_api}}
<h1>PPB_NetworkList Struct Reference</h1>
<div id="doxygen-ref">
{{- dummy div to appease doxygen -}}
  <div>
<!-- Generated by Doxygen 1.7.6.1 -->


</div>
<!--header-->
<div class="contents">
<!-- doxytag: class="PPB_NetworkList" --><h2>
Data Fields</h2><table class="memberdecls">

<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___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">IsNetworkList</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">GetCount</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
<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___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">GetName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">GetType</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">GetState</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">GetIpAddresses</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td></tr>
<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___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">GetDisplayName</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">GetMTU</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td></tr>
</table>
<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The <code>PPB_NetworkList</code> is used to represent a list of network interfaces and their configuration. </p>
<p>The content of the list is immutable. The current networks configuration can be received using the <code>PPB_NetworkMonitor</code> interface. </p>
</div><hr /><h2>Field Documentation</h2>
<a class="anchor" id="a9240190a389e0068088e604704b153de"></a><!-- doxytag: member="PPB_NetworkList::GetCount" ref="a9240190a389e0068088e604704b153de" args=")(PP_Resource resource)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a9240190a389e0068088e604704b153de">PPB_NetworkList::GetCount</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets number of interfaces in the list. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns number of available network interfaces or 0 if the list has never been updated. </dd></dl>
</div>
</div>
<a class="anchor" id="a54e77303af12f276181b32ff94820bd8"></a><!-- doxytag: member="PPB_NetworkList::GetDisplayName" ref="a54e77303af12f276181b32ff94820bd8" args=")(PP_Resource resource, uint32_t index)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a54e77303af12f276181b32ff94820bd8">PPB_NetworkList::GetDisplayName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets display name of a network interface. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns display name for the network interface with the specified <code>index</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a0dcbe767aed13b3b3492343eb0aa9756"></a><!-- doxytag: member="PPB_NetworkList::GetIpAddresses" ref="a0dcbe767aed13b3b3492343eb0aa9756" args=")(PP_Resource resource, uint32_t index, struct PP_ArrayOutput output)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a0dcbe767aed13b3b3492343eb0aa9756">PPB_NetworkList::GetIpAddresses</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index, struct <a class="el" href="struct_p_p___array_output.html">PP_ArrayOutput</a> output)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets list of IP addresses for a network interface. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>An output array which will receive <code>PPB_NetAddress</code> resources on success. Please note that the ref count of those resources has already been increased by 1 for the caller.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An error code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a19ecaf7b4627fe7f5d2b0edf02232e8f"></a><!-- doxytag: member="PPB_NetworkList::GetMTU" ref="a19ecaf7b4627fe7f5d2b0edf02232e8f" args=")(PP_Resource resource, uint32_t index)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a19ecaf7b4627fe7f5d2b0edf02232e8f">PPB_NetworkList::GetMTU</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets MTU (Maximum Transmission Unit) of a network interface. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns MTU for the network interface with the specified <code>index</code> or 0 if MTU is unknown. </dd></dl>
</div>
</div>
<a class="anchor" id="a59fdecb98a8a25e7bf257d7106d74bae"></a><!-- doxytag: member="PPB_NetworkList::GetName" ref="a59fdecb98a8a25e7bf257d7106d74bae" args=")(PP_Resource resource, uint32_t index)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a59fdecb98a8a25e7bf257d7106d74bae">PPB_NetworkList::GetName</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)<code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets name of a network interface. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns name for the network interface with the specified <code>index</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a2d9043e33c1c09f9eeea4b49be1629b1"></a><!-- doxytag: member="PPB_NetworkList::GetState" ref="a2d9043e33c1c09f9eeea4b49be1629b1" args=")(PP_Resource resource, uint32_t index)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___enums.html#ga9188881b5d3346626db0ea8e6aaecf1f">PP_NetworkList_State</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#a2d9043e33c1c09f9eeea4b49be1629b1">PPB_NetworkList::GetState</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets state of a network interface. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns current state of the network interface with the specified <code>index</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ae272fca616d11a27ea09c06a0659e0cc"></a><!-- doxytag: member="PPB_NetworkList::GetType" ref="ae272fca616d11a27ea09c06a0659e0cc" args=")(PP_Resource resource, uint32_t index)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___enums.html#ga1c967cb753eb468493b3bf72e6733983">PP_NetworkList_Type</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ae272fca616d11a27ea09c06a0659e0cc">PPB_NetworkList::GetType</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource, uint32_t index)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets type of a network interface. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> corresponding to a network list. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the network interface.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns type of the network interface with the specified <code>index</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ac8ab7ecff9909962a839d10f6e571954"></a><!-- doxytag: member="PPB_NetworkList::IsNetworkList" ref="ac8ab7ecff9909962a839d10f6e571954" args=")(PP_Resource resource)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___network_list__1__0.html#ac8ab7ecff9909962a839d10f6e571954">PPB_NetworkList::IsNetworkList</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Determines if the specified <code>resource</code> is a <code>NetworkList</code> object. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PP_Resource</code> resource.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <code>PP_TRUE</code> if <code>resource</code> is a <code>PPB_NetworkList</code>, <code>PP_FALSE</code> otherwise. </dd></dl>
</div>
</div>
<hr />The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="ppb__network__list_8h.html">ppb_network_list.h</a></li>
</ul>
</div><!-- contents -->
</div>
{{/partials.standard_nacl_api}}
