mm-iot-sdk/framework/doc/html/group__MMIPAL.html
Morse Micro 4f4eb7fc7a Morse Micro MM-IoT-SDK release 2.9.7
This commit introduces version 2.9.7 of the Morse Micro MM-IoT-SDK
for ARM microcontroller base platforms.
2025-10-04 02:04:28 +10:00

971 lines
65 KiB
HTML

<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Morse Micro IoT SDK: Morse Micro IP Stack Abstraction Layer (MMIPAL) API</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css"/>
<link rel="shortcut icon" href="favicon.svg" />
</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="projectlogo"><img alt="Logo" src="logo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Morse Micro IoT SDK
&#160;<span id="projectnumber">2.9.7</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__MMIPAL.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">Morse Micro IP Stack Abstraction Layer (MMIPAL) API</div></div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p >This API provides a layer of abstraction from the underlying IP stack for common operations such as configuring the link and getting link status. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">IPv4 configuration structure. <a href="structmmipal__ip__config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">IPv6 configuration structure. <a href="structmmipal__ip6__config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmmipal__init__args.html">mmipal_init_args</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize arguments structure. <a href="structmmipal__init__args.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmmipal__link__status.html">mmipal_link_status</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure representing the current status of the link. <a href="structmmipal__link__status.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaf28996cd2e5ac90dcb98020e151efd63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gaf28996cd2e5ac90dcb98020e151efd63">MMIPAL_IPADDR_STR_MAXLEN</a>&#160;&#160;&#160;(48)</td></tr>
<tr class="memdesc:gaf28996cd2e5ac90dcb98020e151efd63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum length of an IP address string, including null-terminator. <a href="group__MMIPAL.html#gaf28996cd2e5ac90dcb98020e151efd63">More...</a><br /></td></tr>
<tr class="separator:gaf28996cd2e5ac90dcb98020e151efd63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada2034f3e1d476104295ab45698b1979"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gada2034f3e1d476104295ab45698b1979">MMIPAL_MAX_IPV6_ADDRESSES</a>&#160;&#160;&#160;(3)</td></tr>
<tr class="memdesc:gada2034f3e1d476104295ab45698b1979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of IPv6 addresses supported. <a href="group__MMIPAL.html#gada2034f3e1d476104295ab45698b1979">More...</a><br /></td></tr>
<tr class="separator:gada2034f3e1d476104295ab45698b1979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf26c0dd7e02e68ef7a49ae726e8d9d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gaaf26c0dd7e02e68ef7a49ae726e8d9d2">MMIPAL_IP_CONFIG_DEFAULT</a>&#160;&#160;&#160;{ <a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7">MMIPAL_DHCP</a>, &quot;&quot;, &quot;&quot;, &quot;&quot;, }</td></tr>
<tr class="memdesc:gaaf26c0dd7e02e68ef7a49ae726e8d9d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializer for <a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a>. <a href="group__MMIPAL.html#gaaf26c0dd7e02e68ef7a49ae726e8d9d2">More...</a><br /></td></tr>
<tr class="separator:gaaf26c0dd7e02e68ef7a49ae726e8d9d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga322ce65396a4e2670eebb1dc13364289"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga322ce65396a4e2670eebb1dc13364289">MMIPAL_IP6_CONFIG_DEFAULT</a>&#160;&#160;&#160;{ <a class="el" href="group__MMIPAL.html#gga766bcb2fa9bef02bbc17203399c84f55a683a4ac6879fb3d4e0eafbc749ef7980">MMIPAL_IP6_AUTOCONFIG</a> }</td></tr>
<tr class="memdesc:ga322ce65396a4e2670eebb1dc13364289"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializer for <a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a>. <a href="group__MMIPAL.html#ga322ce65396a4e2670eebb1dc13364289">More...</a><br /></td></tr>
<tr class="separator:ga322ce65396a4e2670eebb1dc13364289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58358044d2adb0b796443b3987c455ec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga58358044d2adb0b796443b3987c455ec">MMIPAL_INIT_ARGS_DEFAULT</a></td></tr>
<tr class="memdesc:ga58358044d2adb0b796443b3987c455ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default values for <a class="el" href="structmmipal__init__args.html">mmipal_init_args</a>. <a href="group__MMIPAL.html#ga58358044d2adb0b796443b3987c455ec">More...</a><br /></td></tr>
<tr class="separator:ga58358044d2adb0b796443b3987c455ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gad7cd05b2ca37d79ebbda48b5f2a59498"><td class="memItemLeft" align="right" valign="top">typedef char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a>[<a class="el" href="group__MMIPAL.html#gaf28996cd2e5ac90dcb98020e151efd63">MMIPAL_IPADDR_STR_MAXLEN</a>]</td></tr>
<tr class="memdesc:gad7cd05b2ca37d79ebbda48b5f2a59498"><td class="mdescLeft">&#160;</td><td class="mdescRight">IP address string type. <a href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">More...</a><br /></td></tr>
<tr class="separator:gad7cd05b2ca37d79ebbda48b5f2a59498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48394dbda3d6be89eb5db6608c743108"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga48394dbda3d6be89eb5db6608c743108">mmipal_link_status_cb_fn_t</a>) (const struct <a class="el" href="structmmipal__link__status.html">mmipal_link_status</a> *link_status)</td></tr>
<tr class="memdesc:ga48394dbda3d6be89eb5db6608c743108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for callback function invoked on link status changes. <a href="group__MMIPAL.html#ga48394dbda3d6be89eb5db6608c743108">More...</a><br /></td></tr>
<tr class="separator:ga48394dbda3d6be89eb5db6608c743108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dd07bfc1c1f2502b61054466f9bf8a2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga0dd07bfc1c1f2502b61054466f9bf8a2">mmipal_ext_link_status_cb_fn_t</a>) (const struct <a class="el" href="structmmipal__link__status.html">mmipal_link_status</a> *link_status, void *arg)</td></tr>
<tr class="memdesc:ga0dd07bfc1c1f2502b61054466f9bf8a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for callback function invoked on link status changes. <a href="group__MMIPAL.html#ga0dd07bfc1c1f2502b61054466f9bf8a2">More...</a><br /></td></tr>
<tr class="separator:ga0dd07bfc1c1f2502b61054466f9bf8a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gabeb2ec55b5c51b0614c5a7e334ad31d4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> { <br />
&#160;&#160;<a class="el" href="group__MMIPAL.html#ggabeb2ec55b5c51b0614c5a7e334ad31d4a8bf01d9419397da9b09c93bb16160f3d">MMIPAL_SUCCESS</a>
, <a class="el" href="group__MMIPAL.html#ggabeb2ec55b5c51b0614c5a7e334ad31d4a5b26afb56479d5295452606ff5bf89c1">MMIPAL_INVALID_ARGUMENT</a>
, <a class="el" href="group__MMIPAL.html#ggabeb2ec55b5c51b0614c5a7e334ad31d4ad7542e58cfbcef25a1983fe6cc513f13">MMIPAL_NO_LINK</a>
, <a class="el" href="group__MMIPAL.html#ggabeb2ec55b5c51b0614c5a7e334ad31d4ad4efc2c9932d31960d964e61bd31008d">MMIPAL_NO_MEM</a>
, <br />
&#160;&#160;<a class="el" href="group__MMIPAL.html#ggabeb2ec55b5c51b0614c5a7e334ad31d4a977feeeb0da86599cc9025d318302a09">MMIPAL_NOT_SUPPORTED</a>
<br />
}</td></tr>
<tr class="memdesc:gabeb2ec55b5c51b0614c5a7e334ad31d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of status codes returned by MMIPAL functions. <a href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">More...</a><br /></td></tr>
<tr class="separator:gabeb2ec55b5c51b0614c5a7e334ad31d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga616703e1880d1f6bf67b65a445304619"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga616703e1880d1f6bf67b65a445304619">mmipal_link_state</a> { <a class="el" href="group__MMIPAL.html#gga616703e1880d1f6bf67b65a445304619a42beaa85b59ceb8d925387caaf665a9b">MMIPAL_LINK_DOWN</a>
, <a class="el" href="group__MMIPAL.html#gga616703e1880d1f6bf67b65a445304619a07e716b423194a5fcc2c4aa124075c23">MMIPAL_LINK_UP</a>
}</td></tr>
<tr class="memdesc:ga616703e1880d1f6bf67b65a445304619"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of link states. <a href="group__MMIPAL.html#ga616703e1880d1f6bf67b65a445304619">More...</a><br /></td></tr>
<tr class="separator:ga616703e1880d1f6bf67b65a445304619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc9d0260b07ca329e4fc2393a769c3cd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gafc9d0260b07ca329e4fc2393a769c3cd">mmipal_addr_mode</a> { <br />
&#160;&#160;<a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda1daa5bbd662049fcc18526b4ae2f96b5">MMIPAL_DISABLED</a>
, <a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda94fc853f6c5c0d4e4bbc722c9e77e9dc">MMIPAL_STATIC</a>
, <a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7">MMIPAL_DHCP</a>
, <a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda0d6e8956e62814fd570cdb9fc87124f6">MMIPAL_AUTOIP</a>
, <br />
&#160;&#160;<a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda8890eac1c09ea4ce42edc972a6e9d1e4">MMIPAL_DHCP_OFFLOAD</a>
<br />
}</td></tr>
<tr class="memdesc:gafc9d0260b07ca329e4fc2393a769c3cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of IP address allocation modes. <a href="group__MMIPAL.html#gafc9d0260b07ca329e4fc2393a769c3cd">More...</a><br /></td></tr>
<tr class="separator:gafc9d0260b07ca329e4fc2393a769c3cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga766bcb2fa9bef02bbc17203399c84f55"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga766bcb2fa9bef02bbc17203399c84f55">mmipal_ip6_addr_mode</a> { <a class="el" href="group__MMIPAL.html#gga766bcb2fa9bef02bbc17203399c84f55a816ac2c6e768f2afe87c6058d46429e5">MMIPAL_IP6_DISABLED</a>
, <a class="el" href="group__MMIPAL.html#gga766bcb2fa9bef02bbc17203399c84f55aaddba7e33ab834de9696a11509100e3d">MMIPAL_IP6_STATIC</a>
, <a class="el" href="group__MMIPAL.html#gga766bcb2fa9bef02bbc17203399c84f55a683a4ac6879fb3d4e0eafbc749ef7980">MMIPAL_IP6_AUTOCONFIG</a>
, <a class="el" href="group__MMIPAL.html#gga766bcb2fa9bef02bbc17203399c84f55af73c5ec7d7bad5404f497cc162dbe2ab">MMIPAL_IP6_DHCP6_STATELESS</a>
}</td></tr>
<tr class="memdesc:ga766bcb2fa9bef02bbc17203399c84f55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of IPv6 address allocation modes. <a href="group__MMIPAL.html#ga766bcb2fa9bef02bbc17203399c84f55">More...</a><br /></td></tr>
<tr class="separator:ga766bcb2fa9bef02bbc17203399c84f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga036b21005847998a5a99a6118d94c2c3"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga036b21005847998a5a99a6118d94c2c3">mmipal_init</a> (const struct <a class="el" href="structmmipal__init__args.html">mmipal_init_args</a> *args)</td></tr>
<tr class="memdesc:ga036b21005847998a5a99a6118d94c2c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the IP stack and enable the MMWLAN interface. <a href="group__MMIPAL.html#ga036b21005847998a5a99a6118d94c2c3">More...</a><br /></td></tr>
<tr class="separator:ga036b21005847998a5a99a6118d94c2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga831328a8e0c7655aa0383ec0fa19531c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga831328a8e0c7655aa0383ec0fa19531c">mmipal_set_link_status_callback</a> (<a class="el" href="group__MMIPAL.html#ga48394dbda3d6be89eb5db6608c743108">mmipal_link_status_cb_fn_t</a> fn)</td></tr>
<tr class="memdesc:ga831328a8e0c7655aa0383ec0fa19531c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the callback function to be invoked on link status changes. <a href="group__MMIPAL.html#ga831328a8e0c7655aa0383ec0fa19531c">More...</a><br /></td></tr>
<tr class="separator:ga831328a8e0c7655aa0383ec0fa19531c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99888e2aff33b2afddb0ca3b9e8a8d1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga99888e2aff33b2afddb0ca3b9e8a8d1d">mmipal_set_ext_link_status_callback</a> (<a class="el" href="group__MMIPAL.html#ga0dd07bfc1c1f2502b61054466f9bf8a2">mmipal_ext_link_status_cb_fn_t</a> fn, void *arg)</td></tr>
<tr class="memdesc:ga99888e2aff33b2afddb0ca3b9e8a8d1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the extended link status callback function to be invoked on link status changes. <a href="group__MMIPAL.html#ga99888e2aff33b2afddb0ca3b9e8a8d1d">More...</a><br /></td></tr>
<tr class="separator:ga99888e2aff33b2afddb0ca3b9e8a8d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1660c8ab6eabb7b279572add9dbc4f2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga1660c8ab6eabb7b279572add9dbc4f2b">mmipal_get_link_packet_counts</a> (uint32_t *tx_packets, uint32_t *rx_packets)</td></tr>
<tr class="memdesc:ga1660c8ab6eabb7b279572add9dbc4f2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total number of transmitted and received packets on the MMWLAN interface. <a href="group__MMIPAL.html#ga1660c8ab6eabb7b279572add9dbc4f2b">More...</a><br /></td></tr>
<tr class="separator:ga1660c8ab6eabb7b279572add9dbc4f2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga122fc5f903f7657c5a867f34d5506d88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga122fc5f903f7657c5a867f34d5506d88">mmipal_set_tx_qos_tid</a> (uint8_t tid)</td></tr>
<tr class="memdesc:ga122fc5f903f7657c5a867f34d5506d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the QoS Traffic ID to use when transmitting. <a href="group__MMIPAL.html#ga122fc5f903f7657c5a867f34d5506d88">More...</a><br /></td></tr>
<tr class="separator:ga122fc5f903f7657c5a867f34d5506d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafce9c2da395f691934c4c569136c45e8"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gafce9c2da395f691934c4c569136c45e8">mmipal_get_local_addr</a> (<a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a> local_addr, const <a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a> dest_addr)</td></tr>
<tr class="memdesc:gafce9c2da395f691934c4c569136c45e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the local address for the MMWLAN interface that is appropriate for a given destination address. <a href="group__MMIPAL.html#gafce9c2da395f691934c4c569136c45e8">More...</a><br /></td></tr>
<tr class="separator:gafce9c2da395f691934c4c569136c45e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6e9ba8d4114cebfe3681f82d35d4cd9"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gae6e9ba8d4114cebfe3681f82d35d4cd9">mmipal_get_ip_config</a> (struct <a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a> *config)</td></tr>
<tr class="memdesc:gae6e9ba8d4114cebfe3681f82d35d4cd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the IP configurations. <a href="group__MMIPAL.html#gae6e9ba8d4114cebfe3681f82d35d4cd9">More...</a><br /></td></tr>
<tr class="separator:gae6e9ba8d4114cebfe3681f82d35d4cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga344155e0fa56669c56dfcb8a6040b8d3"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga344155e0fa56669c56dfcb8a6040b8d3">mmipal_set_ip_config</a> (const struct <a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a> *config)</td></tr>
<tr class="memdesc:ga344155e0fa56669c56dfcb8a6040b8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the IP configurations. <a href="group__MMIPAL.html#ga344155e0fa56669c56dfcb8a6040b8d3">More...</a><br /></td></tr>
<tr class="separator:ga344155e0fa56669c56dfcb8a6040b8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga036e473da746b35eba61dec290c0115a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga036e473da746b35eba61dec290c0115a">mmipal_get_ip_broadcast_addr</a> (<a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a> broadcast_addr)</td></tr>
<tr class="memdesc:ga036e473da746b35eba61dec290c0115a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current IPv4 broadcast address. <a href="group__MMIPAL.html#ga036e473da746b35eba61dec290c0115a">More...</a><br /></td></tr>
<tr class="separator:ga036e473da746b35eba61dec290c0115a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae5891328d8580126d84223e7b25af17"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gaae5891328d8580126d84223e7b25af17">mmipal_get_ip6_config</a> (struct <a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a> *config)</td></tr>
<tr class="memdesc:gaae5891328d8580126d84223e7b25af17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the IP configurations. <a href="group__MMIPAL.html#gaae5891328d8580126d84223e7b25af17">More...</a><br /></td></tr>
<tr class="separator:gaae5891328d8580126d84223e7b25af17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae440845377bec95b95986abdf02287f6"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#gae440845377bec95b95986abdf02287f6">mmipal_set_ip6_config</a> (const struct <a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a> *config)</td></tr>
<tr class="memdesc:gae440845377bec95b95986abdf02287f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the IPv6 configurations. <a href="group__MMIPAL.html#gae440845377bec95b95986abdf02287f6">More...</a><br /></td></tr>
<tr class="separator:gae440845377bec95b95986abdf02287f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fc09ab39c86d81350ebb043f9d6b491"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#ga616703e1880d1f6bf67b65a445304619">mmipal_link_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga6fc09ab39c86d81350ebb043f9d6b491">mmipal_get_link_state</a> (void)</td></tr>
<tr class="memdesc:ga6fc09ab39c86d81350ebb043f9d6b491"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current IPv4 link state. <a href="group__MMIPAL.html#ga6fc09ab39c86d81350ebb043f9d6b491">More...</a><br /></td></tr>
<tr class="separator:ga6fc09ab39c86d81350ebb043f9d6b491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ee1d1b6c5f878694b8884bfce78db96"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga3ee1d1b6c5f878694b8884bfce78db96">mmipal_set_dns_server</a> (uint8_t index, const <a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a> addr)</td></tr>
<tr class="memdesc:ga3ee1d1b6c5f878694b8884bfce78db96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the DNS server at the given index. <a href="group__MMIPAL.html#ga3ee1d1b6c5f878694b8884bfce78db96">More...</a><br /></td></tr>
<tr class="separator:ga3ee1d1b6c5f878694b8884bfce78db96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga298e7be92dcdf49b2e5d1b6c77d54b80"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMIPAL.html#ga298e7be92dcdf49b2e5d1b6c77d54b80">mmipal_get_dns_server</a> (uint8_t index, <a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a> addr)</td></tr>
<tr class="memdesc:ga298e7be92dcdf49b2e5d1b6c77d54b80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the DNS server at the given index. <a href="group__MMIPAL.html#ga298e7be92dcdf49b2e5d1b6c77d54b80">More...</a><br /></td></tr>
<tr class="separator:ga298e7be92dcdf49b2e5d1b6c77d54b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga58358044d2adb0b796443b3987c455ec" name="ga58358044d2adb0b796443b3987c455ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga58358044d2adb0b796443b3987c455ec">&#9670;&nbsp;</a></span>MMIPAL_INIT_ARGS_DEFAULT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MMIPAL_INIT_ARGS_DEFAULT</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> { <a class="code hl_enumvalue" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7">MMIPAL_DHCP</a>, { 0 }, { 0 }, { 0 }, \</div>
<div class="line"> MMIPAL_IP6_DISABLED, { 0 }, <span class="keyword">false</span>, 0 }</div>
<div class="ttc" id="agroup__MMIPAL_html_ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7"><div class="ttname"><a href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7">MMIPAL_DHCP</a></div><div class="ttdeci">@ MMIPAL_DHCP</div><div class="ttdoc">IP address allocated via DHCP.</div><div class="ttdef"><b>Definition:</b> <a href="mmipal_8h_source.html#l00067">mmipal.h:67</a></div></div>
</div><!-- fragment -->
<p>Default values for <a class="el" href="structmmipal__init__args.html">mmipal_init_args</a>. </p>
<p >This should be used when initializing the <a class="el" href="structmmipal__init__args.html">mmipal_init_args</a> structure. </p>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00173">173</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="ga322ce65396a4e2670eebb1dc13364289" name="ga322ce65396a4e2670eebb1dc13364289"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga322ce65396a4e2670eebb1dc13364289">&#9670;&nbsp;</a></span>MMIPAL_IP6_CONFIG_DEFAULT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MMIPAL_IP6_CONFIG_DEFAULT&#160;&#160;&#160;{ <a class="el" href="group__MMIPAL.html#gga766bcb2fa9bef02bbc17203399c84f55a683a4ac6879fb3d4e0eafbc749ef7980">MMIPAL_IP6_AUTOCONFIG</a> }</td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializer for <a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a>. </p>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00136">136</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="gaaf26c0dd7e02e68ef7a49ae726e8d9d2" name="gaaf26c0dd7e02e68ef7a49ae726e8d9d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf26c0dd7e02e68ef7a49ae726e8d9d2">&#9670;&nbsp;</a></span>MMIPAL_IP_CONFIG_DEFAULT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MMIPAL_IP_CONFIG_DEFAULT&#160;&#160;&#160;{ <a class="el" href="group__MMIPAL.html#ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7">MMIPAL_DHCP</a>, &quot;&quot;, &quot;&quot;, &quot;&quot;, }</td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializer for <a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a>. </p>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00100">100</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="gaf28996cd2e5ac90dcb98020e151efd63" name="gaf28996cd2e5ac90dcb98020e151efd63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf28996cd2e5ac90dcb98020e151efd63">&#9670;&nbsp;</a></span>MMIPAL_IPADDR_STR_MAXLEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MMIPAL_IPADDR_STR_MAXLEN&#160;&#160;&#160;(48)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum length of an IP address string, including null-terminator. </p>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00027">27</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="gada2034f3e1d476104295ab45698b1979" name="gada2034f3e1d476104295ab45698b1979"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gada2034f3e1d476104295ab45698b1979">&#9670;&nbsp;</a></span>MMIPAL_MAX_IPV6_ADDRESSES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MMIPAL_MAX_IPV6_ADDRESSES&#160;&#160;&#160;(3)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum number of IPv6 addresses supported. </p>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00032">32</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga0dd07bfc1c1f2502b61054466f9bf8a2" name="ga0dd07bfc1c1f2502b61054466f9bf8a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0dd07bfc1c1f2502b61054466f9bf8a2">&#9670;&nbsp;</a></span>mmipal_ext_link_status_cb_fn_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* mmipal_ext_link_status_cb_fn_t) (const struct <a class="el" href="structmmipal__link__status.html">mmipal_link_status</a> *link_status, void *arg)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Prototype for callback function invoked on link status changes. </p>
<p >This is similar to <a class="el" href="group__MMIPAL.html#ga48394dbda3d6be89eb5db6608c743108">mmipal_link_status_cb_fn_t</a> but with the addition of the <code>arg</code> parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">link_status</td><td>The current link status. </td></tr>
<tr><td class="paramname">arg</td><td>Opaque argument that was provided when the callback was registered. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00237">237</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="gad7cd05b2ca37d79ebbda48b5f2a59498" name="gad7cd05b2ca37d79ebbda48b5f2a59498"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad7cd05b2ca37d79ebbda48b5f2a59498">&#9670;&nbsp;</a></span>mmipal_ip_addr_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef char mmipal_ip_addr_t[<a class="el" href="group__MMIPAL.html#gaf28996cd2e5ac90dcb98020e151efd63">MMIPAL_IPADDR_STR_MAXLEN</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>IP address string type. </p>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00075">75</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="ga48394dbda3d6be89eb5db6608c743108" name="ga48394dbda3d6be89eb5db6608c743108"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga48394dbda3d6be89eb5db6608c743108">&#9670;&nbsp;</a></span>mmipal_link_status_cb_fn_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* mmipal_link_status_cb_fn_t) (const struct <a class="el" href="structmmipal__link__status.html">mmipal_link_status</a> *link_status)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Prototype for callback function invoked on link status changes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">link_status</td><td>The current link status. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00213">213</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gafc9d0260b07ca329e4fc2393a769c3cd" name="gafc9d0260b07ca329e4fc2393a769c3cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafc9d0260b07ca329e4fc2393a769c3cd">&#9670;&nbsp;</a></span>mmipal_addr_mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gafc9d0260b07ca329e4fc2393a769c3cd">mmipal_addr_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration of IP address allocation modes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggafc9d0260b07ca329e4fc2393a769c3cda1daa5bbd662049fcc18526b4ae2f96b5" name="ggafc9d0260b07ca329e4fc2393a769c3cda1daa5bbd662049fcc18526b4ae2f96b5"></a>MMIPAL_DISABLED&#160;</td><td class="fielddoc"><p >Disabled. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafc9d0260b07ca329e4fc2393a769c3cda94fc853f6c5c0d4e4bbc722c9e77e9dc" name="ggafc9d0260b07ca329e4fc2393a769c3cda94fc853f6c5c0d4e4bbc722c9e77e9dc"></a>MMIPAL_STATIC&#160;</td><td class="fielddoc"><p >Static IP address. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7" name="ggafc9d0260b07ca329e4fc2393a769c3cda7af3e1dc0c8e2336742f2852c0a799c7"></a>MMIPAL_DHCP&#160;</td><td class="fielddoc"><p >IP address allocated via DHCP. </p>
<p ><code>LWIP_DHCP</code> must be set to 1 if using LWIP. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafc9d0260b07ca329e4fc2393a769c3cda0d6e8956e62814fd570cdb9fc87124f6" name="ggafc9d0260b07ca329e4fc2393a769c3cda0d6e8956e62814fd570cdb9fc87124f6"></a>MMIPAL_AUTOIP&#160;</td><td class="fielddoc"><p >IP address allocated via AutoIP. </p>
<p ><code>LWIP_DHCP</code> must be set to 1 if using LWIP. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafc9d0260b07ca329e4fc2393a769c3cda8890eac1c09ea4ce42edc972a6e9d1e4" name="ggafc9d0260b07ca329e4fc2393a769c3cda8890eac1c09ea4ce42edc972a6e9d1e4"></a>MMIPAL_DHCP_OFFLOAD&#160;</td><td class="fielddoc"><p >DHCP offloaded to chip. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00060">60</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="ga766bcb2fa9bef02bbc17203399c84f55" name="ga766bcb2fa9bef02bbc17203399c84f55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga766bcb2fa9bef02bbc17203399c84f55">&#9670;&nbsp;</a></span>mmipal_ip6_addr_mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#ga766bcb2fa9bef02bbc17203399c84f55">mmipal_ip6_addr_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration of IPv6 address allocation modes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga766bcb2fa9bef02bbc17203399c84f55a816ac2c6e768f2afe87c6058d46429e5" name="gga766bcb2fa9bef02bbc17203399c84f55a816ac2c6e768f2afe87c6058d46429e5"></a>MMIPAL_IP6_DISABLED&#160;</td><td class="fielddoc"><p >Disabled. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga766bcb2fa9bef02bbc17203399c84f55aaddba7e33ab834de9696a11509100e3d" name="gga766bcb2fa9bef02bbc17203399c84f55aaddba7e33ab834de9696a11509100e3d"></a>MMIPAL_IP6_STATIC&#160;</td><td class="fielddoc"><p >Static IPv6 addresses. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga766bcb2fa9bef02bbc17203399c84f55a683a4ac6879fb3d4e0eafbc749ef7980" name="gga766bcb2fa9bef02bbc17203399c84f55a683a4ac6879fb3d4e0eafbc749ef7980"></a>MMIPAL_IP6_AUTOCONFIG&#160;</td><td class="fielddoc"><p >IPv6 address allocated via autoconfiguration. </p>
<p ><code>LWIP_IPV6_AUTOCONFIG</code> must be set to 1 if using LWIP. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga766bcb2fa9bef02bbc17203399c84f55af73c5ec7d7bad5404f497cc162dbe2ab" name="gga766bcb2fa9bef02bbc17203399c84f55af73c5ec7d7bad5404f497cc162dbe2ab"></a>MMIPAL_IP6_DHCP6_STATELESS&#160;</td><td class="fielddoc"><p >IPv6 address allocated via stateless DHCPv6. </p>
<p ><code>LWIP_IPV6_DHCP6_STATELESS</code> must be set to 1 if using LWIP. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00103">103</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="ga616703e1880d1f6bf67b65a445304619" name="ga616703e1880d1f6bf67b65a445304619"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga616703e1880d1f6bf67b65a445304619">&#9670;&nbsp;</a></span>mmipal_link_state</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#ga616703e1880d1f6bf67b65a445304619">mmipal_link_state</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration of link states. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga616703e1880d1f6bf67b65a445304619a42beaa85b59ceb8d925387caaf665a9b" name="gga616703e1880d1f6bf67b65a445304619a42beaa85b59ceb8d925387caaf665a9b"></a>MMIPAL_LINK_DOWN&#160;</td><td class="fielddoc"><p >Link is down. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga616703e1880d1f6bf67b65a445304619a07e716b423194a5fcc2c4aa124075c23" name="gga616703e1880d1f6bf67b65a445304619a07e716b423194a5fcc2c4aa124075c23"></a>MMIPAL_LINK_UP&#160;</td><td class="fielddoc"><p >Link is up. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00051">51</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<a id="gabeb2ec55b5c51b0614c5a7e334ad31d4" name="gabeb2ec55b5c51b0614c5a7e334ad31d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabeb2ec55b5c51b0614c5a7e334ad31d4">&#9670;&nbsp;</a></span>mmipal_status</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration of status codes returned by MMIPAL functions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggabeb2ec55b5c51b0614c5a7e334ad31d4a8bf01d9419397da9b09c93bb16160f3d" name="ggabeb2ec55b5c51b0614c5a7e334ad31d4a8bf01d9419397da9b09c93bb16160f3d"></a>MMIPAL_SUCCESS&#160;</td><td class="fielddoc"><p >Completed successfully. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabeb2ec55b5c51b0614c5a7e334ad31d4a5b26afb56479d5295452606ff5bf89c1" name="ggabeb2ec55b5c51b0614c5a7e334ad31d4a5b26afb56479d5295452606ff5bf89c1"></a>MMIPAL_INVALID_ARGUMENT&#160;</td><td class="fielddoc"><p >One or more arguments were invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabeb2ec55b5c51b0614c5a7e334ad31d4ad7542e58cfbcef25a1983fe6cc513f13" name="ggabeb2ec55b5c51b0614c5a7e334ad31d4ad7542e58cfbcef25a1983fe6cc513f13"></a>MMIPAL_NO_LINK&#160;</td><td class="fielddoc"><p >The operation could not complete because the link is not up. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabeb2ec55b5c51b0614c5a7e334ad31d4ad4efc2c9932d31960d964e61bd31008d" name="ggabeb2ec55b5c51b0614c5a7e334ad31d4ad4efc2c9932d31960d964e61bd31008d"></a>MMIPAL_NO_MEM&#160;</td><td class="fielddoc"><p >Failed due to memory allocation failure. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabeb2ec55b5c51b0614c5a7e334ad31d4a977feeeb0da86599cc9025d318302a09" name="ggabeb2ec55b5c51b0614c5a7e334ad31d4a977feeeb0da86599cc9025d318302a09"></a>MMIPAL_NOT_SUPPORTED&#160;</td><td class="fielddoc"><p >This functionality is not supported (e.g., due to build configuration). </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="mmipal_8h_source.html#l00036">36</a> of file <a class="el" href="mmipal_8h_source.html">mmipal.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga298e7be92dcdf49b2e5d1b6c77d54b80" name="ga298e7be92dcdf49b2e5d1b6c77d54b80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga298e7be92dcdf49b2e5d1b6c77d54b80">&#9670;&nbsp;</a></span>mmipal_get_dns_server()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_get_dns_server </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a>&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the DNS server at the given index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the DNS server to set. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">addr</td><td>IP address buffer to receive the IP address of the DNS server at the given index. Will be set to empty string if no server at the given index.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success. </dd></dl>
</div>
</div>
<a id="gaae5891328d8580126d84223e7b25af17" name="gaae5891328d8580126d84223e7b25af17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaae5891328d8580126d84223e7b25af17">&#9670;&nbsp;</a></span>mmipal_get_ip6_config()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_get_ip6_config </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the IP configurations. </p>
<p >This can be used to get the local IP configurations.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the IP configurations.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success, <code>MMIPAL_NOT_SUPPORTED</code> if IPv6 is not supported.. </dd></dl>
</div>
</div>
<a id="ga036e473da746b35eba61dec290c0115a" name="ga036e473da746b35eba61dec290c0115a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga036e473da746b35eba61dec290c0115a">&#9670;&nbsp;</a></span>mmipal_get_ip_broadcast_addr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_get_ip_broadcast_addr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a>&#160;</td>
<td class="paramname"><em>broadcast_addr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current IPv4 broadcast address. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">broadcast_addr</td><td>Buffer to receive the broadcast address as a string.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success, <code>MMIPAL_NOT_SUPPORTED</code> if IPv4 is not supported. </dd></dl>
</div>
</div>
<a id="gae6e9ba8d4114cebfe3681f82d35d4cd9" name="gae6e9ba8d4114cebfe3681f82d35d4cd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae6e9ba8d4114cebfe3681f82d35d4cd9">&#9670;&nbsp;</a></span>mmipal_get_ip_config()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_get_ip_config </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the IP configurations. </p>
<p >This can be used to get the local IP configurations.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the IP configurations.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success, <code>MMIPAL_NOT_SUPPORTED</code> if IPv4 is not supported. </dd></dl>
</div>
</div>
<a id="ga1660c8ab6eabb7b279572add9dbc4f2b" name="ga1660c8ab6eabb7b279572add9dbc4f2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1660c8ab6eabb7b279572add9dbc4f2b">&#9670;&nbsp;</a></span>mmipal_get_link_packet_counts()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mmipal_get_link_packet_counts </td>
<td>(</td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>tx_packets</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>rx_packets</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the total number of transmitted and received packets on the MMWLAN interface. </p>
<dl class="section note"><dt>Note</dt><dd>If using LWIP, this function requires LWIP_STATS to be defined in your application, otherwise packet counters will always return as 0.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">tx_packets</td><td>Pointer to location to store total tx packets </td></tr>
<tr><td class="paramname">rx_packets</td><td>Pointer to location to store total rx packets </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga6fc09ab39c86d81350ebb043f9d6b491" name="ga6fc09ab39c86d81350ebb043f9d6b491"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6fc09ab39c86d81350ebb043f9d6b491">&#9670;&nbsp;</a></span>mmipal_get_link_state()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#ga616703e1880d1f6bf67b65a445304619">mmipal_link_state</a> mmipal_get_link_state </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get current IPv4 link state. </p>
<dl class="section return"><dt>Returns</dt><dd>the current IPv4 link state (up or down). </dd></dl>
</div>
</div>
<a id="gafce9c2da395f691934c4c569136c45e8" name="gafce9c2da395f691934c4c569136c45e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafce9c2da395f691934c4c569136c45e8">&#9670;&nbsp;</a></span>mmipal_get_local_addr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_get_local_addr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a>&#160;</td>
<td class="paramname"><em>local_addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a>&#160;</td>
<td class="paramname"><em>dest_addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the local address for the MMWLAN interface that is appropriate for a given destination address. </p>
<p >The following table shows how the returned <code>local_addr</code> is selected:</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone"><code>dest_addr</code> </th><th class="markdownTableHeadNone"><code>local_addr</code> returned </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">type is IPv4 </td><td class="markdownTableBodyNone">IPv4 address </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">type is IPv6 </td><td class="markdownTableBodyNone">An IPv6 source address selected from interface's IPv6 addresses or ERR_CONN </td></tr>
</table>
<p >(X = don't care)</p>
<p >If the given parameters would result in a <code>local_addr</code> type of IPv4 and IPv4 is not enabled, or IPv6 and IPv6 is not enabled, then <code>MMIPAL_INVALID_ARGUMENT</code> will be returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">local_addr</td><td>Output local address for the MMWLAN interface, as noted above. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dest_addr</td><td>Destination address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCESS</code> if <code>local_addr</code> successfully set. otherwise an appropriate error code. </dd></dl>
</div>
</div>
<a id="ga036b21005847998a5a99a6118d94c2c3" name="ga036b21005847998a5a99a6118d94c2c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga036b21005847998a5a99a6118d94c2c3">&#9670;&nbsp;</a></span>mmipal_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_init </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structmmipal__init__args.html">mmipal_init_args</a> *&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the IP stack and enable the MMWLAN interface. </p>
<p >This will implicitly initialize and boot MMWLAN, and will block until this has completed.</p>
<dl class="section note"><dt>Note</dt><dd>This function will boot the Morse Micro transceiver using <a class="el" href="group__MMWLAN__CTRL.html#ga1a5050da56c30035ffcc4c49b7ff95d4">mmwlan_boot()</a> in order to read the MAC address. It is the responsibility of the caller to shut down the transceiver using <a class="el" href="group__MMWLAN__CTRL.html#ga83480307a380060f5a1e03eaaf634081">mmwlan_shutdown()</a> as required.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd><a class="el" href="group__MMWLAN__INIT.html#gad96f6d04004a3010c0cddd02d8feed72">mmwlan_init()</a> must be called before invoking this function.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Initialization arguments.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success. otherwise a vendor specific error code. </dd></dl>
</div>
</div>
<a id="ga3ee1d1b6c5f878694b8884bfce78db96" name="ga3ee1d1b6c5f878694b8884bfce78db96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3ee1d1b6c5f878694b8884bfce78db96">&#9670;&nbsp;</a></span>mmipal_set_dns_server()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_set_dns_server </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__MMIPAL.html#gad7cd05b2ca37d79ebbda48b5f2a59498">mmipal_ip_addr_t</a>&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the DNS server at the given index. </p>
<dl class="section warning"><dt>Warning</dt><dd>Depending on IP stack implementation, this setting may be overridden by DHCP.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of the DNS server to set. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">addr</td><td>Address of the DNS server to set.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success, <code>MMIPAL_INVALID_ARGUMENT</code> if an invalid index or IP address was given. </dd></dl>
</div>
</div>
<a id="ga99888e2aff33b2afddb0ca3b9e8a8d1d" name="ga99888e2aff33b2afddb0ca3b9e8a8d1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga99888e2aff33b2afddb0ca3b9e8a8d1d">&#9670;&nbsp;</a></span>mmipal_set_ext_link_status_callback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mmipal_set_ext_link_status_callback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__MMIPAL.html#ga0dd07bfc1c1f2502b61054466f9bf8a2">mmipal_ext_link_status_cb_fn_t</a>&#160;</td>
<td class="paramname"><em>fn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>arg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the extended link status callback function to be invoked on link status changes. </p>
<p >This is similar to <a class="el" href="group__MMIPAL.html#ga831328a8e0c7655aa0383ec0fa19531c">mmipal_set_link_status_callback()</a> with the exception that an opaque argument may also be specified.</p>
<p >This will be used when DHCP is enabled.</p>
<dl class="section note"><dt>Note</dt><dd>This is for IPv4 only. To get IPv6 status use <code>mmipal_get_ip6_config</code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fn</td><td>Function pointer to the callback function. </td></tr>
<tr><td class="paramname">arg</td><td>Opaque argument to be passed to the callback. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gae440845377bec95b95986abdf02287f6" name="gae440845377bec95b95986abdf02287f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae440845377bec95b95986abdf02287f6">&#9670;&nbsp;</a></span>mmipal_set_ip6_config()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_set_ip6_config </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structmmipal__ip6__config.html">mmipal_ip6_config</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the IPv6 configurations. </p>
<p >This can be used to set the local IPv6 configurations.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the IPv6 configurations.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success, <code>MMIPAL_NOT_SUPPORTED</code> if IPv6 is not supported. </dd></dl>
</div>
</div>
<a id="ga344155e0fa56669c56dfcb8a6040b8d3" name="ga344155e0fa56669c56dfcb8a6040b8d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga344155e0fa56669c56dfcb8a6040b8d3">&#9670;&nbsp;</a></span>mmipal_set_ip_config()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__MMIPAL.html#gabeb2ec55b5c51b0614c5a7e334ad31d4">mmipal_status</a> mmipal_set_ip_config </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structmmipal__ip__config.html">mmipal_ip_config</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the IP configurations. </p>
<p >This can be used to set the local IP configurations.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the IP configurations.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>MMIPAL_SUCCESS</code> on success, <code>MMIPAL_NOT_SUPPORTED</code> if IPv4 is not supported. </dd></dl>
</div>
</div>
<a id="ga831328a8e0c7655aa0383ec0fa19531c" name="ga831328a8e0c7655aa0383ec0fa19531c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga831328a8e0c7655aa0383ec0fa19531c">&#9670;&nbsp;</a></span>mmipal_set_link_status_callback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mmipal_set_link_status_callback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__MMIPAL.html#ga48394dbda3d6be89eb5db6608c743108">mmipal_link_status_cb_fn_t</a>&#160;</td>
<td class="paramname"><em>fn</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the callback function to be invoked on link status changes. </p>
<p >This will be used when DHCP is enabled.</p>
<dl class="section note"><dt>Note</dt><dd>This is for IPv4 only. To get IPv6 status use <code>mmipal_get_ip6_config</code>. </dd>
<dd>
If an opaque argument is required then use <a class="el" href="group__MMIPAL.html#ga99888e2aff33b2afddb0ca3b9e8a8d1d">mmipal_set_ext_link_status_callback()</a> instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fn</td><td>Function pointer to the callback function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga122fc5f903f7657c5a867f34d5506d88" name="ga122fc5f903f7657c5a867f34d5506d88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga122fc5f903f7657c5a867f34d5506d88">&#9670;&nbsp;</a></span>mmipal_set_tx_qos_tid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mmipal_set_tx_qos_tid </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>tid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the QoS Traffic ID to use when transmitting. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">tid</td><td>The QoS TID to use (0 - <a class="el" href="group__MMWLAN__DATA.html#gad9f43607aa66574ab80c278096a41576">MMWLAN_MAX_QOS_TID</a>). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.17-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Copyright 2021 Morse Micro </li>
</ul>
</div>
</body>
</html>