MCUXpresso_MIMXRT1052xxxxB/docs/MCUXpresso SDK API Referenc.../a00025.html

5438 lines
335 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: ENET: Ethernet MAC Driver</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="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</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">
$(document).ready(function(){initNavTree('a00025.html','');});
</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#groups">Modules</a> &#124;
<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> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">ENET: Ethernet MAC Driver</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The MCUXpresso SDK provides a peripheral driver for the 10/100 Mbps Ethernet MAC (ENET) module of MCUXpresso SDK devices.</p>
<h1>ENET: Ethernet MAC Driver {EthernetMACDriver}</h1>
<h1><a class="anchor" id="EthernetMACDriverOps"></a>
Operations of Ethernet MAC Driver</h1>
<h2><a class="anchor" id="ENETMIIInterOps"></a>
MII interface Operation</h2>
<p>The MII interface is the interface connected with MAC and PHY. the Serial management interface - MII management interface should be set before any access to the external PHY chip register. Call <a class="el" href="a00025.html#ga4e2546cfd538bd06950f2145592858f1" title="Sets the ENET SMI(serial management interface)- MII management interface. ">ENET_SetSMI()</a> to initialize the MII management interface. Use <a class="el" href="a00025.html#ga447a3f073b07936eff311f58024a8469" title="Sends the MDIO IEEE802.3 Clause 22 format read command. ">ENET_StartSMIRead()</a>, <a class="el" href="a00025.html#ga928b72c0b95d7f4af73a753b8afd08e2" title="Sends the MDIO IEEE802.3 Clause 22 format write command. ">ENET_StartSMIWrite()</a>, and <a class="el" href="a00025.html#ga1720662e45648e0f081b9152c36b3156" title="Reads data from the PHY register through an SMI interface. ">ENET_ReadSMIData()</a> to read/write to PHY registers. This function group sets up the MII and serial management SMI interface, gets data from the SMI interface, and starts the SMI read and write command. Use <a class="el" href="a00025.html#ga9008a47cdf43fe2eddde467c9841fc7b" title="Sets the ENET MII speed and duplex. ">ENET_SetMII()</a> to configure the MII before successfully getting data from the external PHY.</p>
<h2><a class="anchor" id="ENETAddrFilter"></a>
MAC address filter</h2>
<p>This group sets/gets the ENET mac address and the multicast group address filter. <a class="el" href="a00025.html#ga5b9495b14a42f5b1ee24dcc5a6a9f227" title="Adds the ENET device to a multicast group. ">ENET_AddMulticastGroup()</a> should be called to add the ENET MAC to the multicast group. The IEEE 1588 feature requires receiving the PTP message.</p>
<h2><a class="anchor" id="ENETOthBasicCtlOps"></a>
Other Baisc control Operations</h2>
<p>This group has the receive active API <a class="el" href="a00025.html#ga6e067d2d9b41ad32ce7b32ecad8cefc3" title="Activates frame reception for multiple rings. ">ENET_ActiveRead()</a> for single and multiple rings. The ENET_AVBConfigure() is provided to configure the AVB features to support the AVB frames transmission. Note that due to the AVB frames transmission scheme being a credit-based TX scheme, it is only supported with the Enhanced buffer descriptors. Because of this, the AVB configuration should only be done with the Enhanced buffer descriptor. When the AVB feature is required, make sure the the "ENET_ENHANCEDBUFFERDESCRIPTOR_MODE" is defined before using this feature.</p>
<h2><a class="anchor" id="ENETTransOps"></a>
Transactional Operation</h2>
<p>For ENET receive, the <a class="el" href="a00025.html#gab60f9fac51313d5822274a20bb059307" title="Gets the size of the read frame for specified ring. ">ENET_GetRxFrameSize()</a> function needs to be called to get the received data size. Then, call the <a class="el" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f" title="Reads a frame from the ENET device. ">ENET_ReadFrame()</a> function to get the received data. If the received error occurs, call the <a class="el" href="a00025.html#gae8d5c96025f7b1b870e5eb20850dfa87" title="Gets the error statistics of a received frame for ENET specified ring. ">ENET_GetRxErrBeforeReadFrame()</a> function after <a class="el" href="a00025.html#gab60f9fac51313d5822274a20bb059307" title="Gets the size of the read frame for specified ring. ">ENET_GetRxFrameSize()</a> and before <a class="el" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f" title="Reads a frame from the ENET device. ">ENET_ReadFrame()</a> functions to get the detailed error information.</p>
<p>For ENET transmit, call the <a class="el" href="a00025.html#ga420eb9f89621426669164f9ff3ded4b7" title="Transmits an ENET frame for specified ring. ">ENET_SendFrame()</a> function to send the data out. The transmit data error information is only accessible for the IEEE 1588 enhanced buffer descriptor mode. When the ENET_ENHANCEDBUFFERDESCRIPTOR_MODE is defined, the ENET_GetTxErrAfterSendFrame() can be used to get the detail transmit error information. The transmit error information can only be updated by uDMA after the data is transmitted. The ENET_GetTxErrAfterSendFrame() function is recommended to be called on the transmit interrupt handler.</p>
<p>If send/read frame with zero-copy mechanism is needed, there're special APIs like <a class="el" href="a00025.html#gaa91ebe63c861f928510c45cfce40f5a7" title="Receives one frame in specified BD ring with zero copy. ">ENET_GetRxFrame()</a> and <a class="el" href="a00025.html#gaf1dfd6bda61a3f763940cc7c5fa8b144" title="Sends one frame in specified BD ring with zero copy. ">ENET_StartTxFrame()</a>. The send frame zero-copy APIs can't be used mixed with <a class="el" href="a00025.html#ga420eb9f89621426669164f9ff3ded4b7" title="Transmits an ENET frame for specified ring. ">ENET_SendFrame()</a> for the same ENET peripheral, same as read frame zero-copy APIs.</p>
<h2><a class="anchor" id="ENETPTP1588FeatureOps"></a>
PTP IEEE 1588 Feature Operation</h2>
<p>This function group configures the PTP IEEE 1588 feature, starts/stops/gets/sets/adjusts the PTP IEEE 1588 timer, gets the receive/transmit frame timestamp, and PTP IEEE 1588 timer channel feature setting.</p>
<p>The ENET_Ptp1588Configure() function needs to be called when the ENET_ENHANCEDBUFFERDESCRIPTOR_MODE is defined and the IEEE 1588 feature is required.</p>
<h1><a class="anchor" id="ENETTpyUC"></a>
Typical use case</h1>
<h2><a class="anchor" id="ENETInitRxTxOps"></a>
ENET Initialization, receive, and transmit operations</h2>
<p>For the ENET_ENHANCEDBUFFERDESCRIPTOR_MODE undefined use case, use the legacy type buffer descriptor transmit/receive the frame as follows. Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/enet For the ENET_ENHANCEDBUFFERDESCRIPTOR_MODE defined use case, add the PTP IEEE 1588 configuration to enable the PTP IEEE 1588 feature. The initialization occurs as follows. Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/enet </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:a00276"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html">ENET CMSIS Driver</a></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 name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:a00368"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00368">_enet_rx_bd_struct</a></td></tr>
<tr class="memdesc:a00368"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive buffer descriptor structure for the little endian system. <a href="a00025.html#a00368">More...</a><br/></td></tr>
<tr class="separator:a00368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00372"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00372">_enet_tx_bd_struct</a></td></tr>
<tr class="memdesc:a00372"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the enhanced transmit buffer descriptor structure for the little endian system. <a href="a00025.html#a00372">More...</a><br/></td></tr>
<tr class="separator:a00372"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00364"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00364">_enet_data_error_stats</a></td></tr>
<tr class="memdesc:a00364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET data error statistics structure. <a href="a00025.html#a00364">More...</a><br/></td></tr>
<tr class="separator:a00364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00369"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00369">_enet_rx_frame_error</a></td></tr>
<tr class="memdesc:a00369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the Rx frame error structure. <a href="a00025.html#a00369">More...</a><br/></td></tr>
<tr class="separator:a00369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00370"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00370">_enet_transfer_stats</a></td></tr>
<tr class="memdesc:a00370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET transfer statistics structure. <a href="a00025.html#a00370">More...</a><br/></td></tr>
<tr class="separator:a00370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00561"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00561">enet_frame_info</a></td></tr>
<tr class="memdesc:a00561"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the frame info structure. <a href="a00025.html#a00561">More...</a><br/></td></tr>
<tr class="separator:a00561"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00373"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00373">_enet_tx_dirty_ring</a></td></tr>
<tr class="memdesc:a00373"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET transmit dirty addresses ring/queue structure. <a href="a00025.html#a00373">More...</a><br/></td></tr>
<tr class="separator:a00373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00362"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00362">_enet_buffer_config</a></td></tr>
<tr class="memdesc:a00362"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive buffer descriptor configuration structure. <a href="a00025.html#a00362">More...</a><br/></td></tr>
<tr class="separator:a00362"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00366"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00366">_enet_intcoalesce_config</a></td></tr>
<tr class="memdesc:a00366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the interrupt coalescing configure structure. <a href="a00025.html#a00366">More...</a><br/></td></tr>
<tr class="separator:a00366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00363"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00363">_enet_config</a></td></tr>
<tr class="memdesc:a00363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the basic configuration structure for the ENET device. <a href="a00025.html#a00363">More...</a><br/></td></tr>
<tr class="separator:a00363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00371"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00371">_enet_tx_bd_ring</a></td></tr>
<tr class="memdesc:a00371"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET transmit buffer descriptor ring/queue structure. <a href="a00025.html#a00371">More...</a><br/></td></tr>
<tr class="separator:a00371"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00367"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00367">_enet_rx_bd_ring</a></td></tr>
<tr class="memdesc:a00367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET receive buffer descriptor ring/queue structure. <a href="a00025.html#a00367">More...</a><br/></td></tr>
<tr class="separator:a00367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00365"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a00365">_enet_handle</a></td></tr>
<tr class="memdesc:a00365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET handler structure. <a href="a00025.html#a00365">More...</a><br/></td></tr>
<tr class="separator:a00365"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaa47652ada5e7cc078bc37979d5487b46"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaa47652ada5e7cc078bc37979d5487b46">ENET_BUFFDESCRIPTOR_RX_ERR_MASK</a></td></tr>
<tr class="memdesc:gaa47652ada5e7cc078bc37979d5487b46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive error status flag mask. <a href="#gaa47652ada5e7cc078bc37979d5487b46">More...</a><br/></td></tr>
<tr class="separator:gaa47652ada5e7cc078bc37979d5487b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga285ce45cec89dda602433db19dc66e8f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#ga2ac7a6450188255daf6c0698d6241cbe">_enet_mii_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga285ce45cec89dda602433db19dc66e8f">enet_mii_mode_t</a></td></tr>
<tr class="memdesc:ga285ce45cec89dda602433db19dc66e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the MII/RMII/RGMII mode for data interface between the MAC and the PHY. <a href="#ga285ce45cec89dda602433db19dc66e8f">More...</a><br/></td></tr>
<tr class="separator:ga285ce45cec89dda602433db19dc66e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba02d036bbe1463f21d421eed4358bb2"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#ga1b4b5924eca34762bd5ec1ee783aa417">_enet_mii_speed</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaba02d036bbe1463f21d421eed4358bb2">enet_mii_speed_t</a></td></tr>
<tr class="memdesc:gaba02d036bbe1463f21d421eed4358bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the 10/100/1000 Mbps speed for the MII data interface. <a href="#gaba02d036bbe1463f21d421eed4358bb2">More...</a><br/></td></tr>
<tr class="separator:gaba02d036bbe1463f21d421eed4358bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75c2799d0b0a4d091a6dbc4d67d8b55f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#gad9098c2e8e4fc29f2d2a032b4fc4ae57">_enet_mii_duplex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga75c2799d0b0a4d091a6dbc4d67d8b55f">enet_mii_duplex_t</a></td></tr>
<tr class="memdesc:ga75c2799d0b0a4d091a6dbc4d67d8b55f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the half or full duplex for the MII data interface. <a href="#ga75c2799d0b0a4d091a6dbc4d67d8b55f">More...</a><br/></td></tr>
<tr class="separator:ga75c2799d0b0a4d091a6dbc4d67d8b55f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2c3fc6bdee746926b3f15647aac3732"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#gabf72ec5512ee82526a79d09bb2868bde">_enet_mii_write</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad2c3fc6bdee746926b3f15647aac3732">enet_mii_write_t</a></td></tr>
<tr class="memdesc:gad2c3fc6bdee746926b3f15647aac3732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the MII opcode for normal MDIO_CLAUSES_22 Frame. <a href="#gad2c3fc6bdee746926b3f15647aac3732">More...</a><br/></td></tr>
<tr class="separator:gad2c3fc6bdee746926b3f15647aac3732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6df5ee84f48d543040cf6ea26e38b381"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#ga649bd890441475f51dcba653e48bf2e2">_enet_mii_read</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga6df5ee84f48d543040cf6ea26e38b381">enet_mii_read_t</a></td></tr>
<tr class="memdesc:ga6df5ee84f48d543040cf6ea26e38b381"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the read operation for the MII management frame. <a href="#ga6df5ee84f48d543040cf6ea26e38b381">More...</a><br/></td></tr>
<tr class="separator:ga6df5ee84f48d543040cf6ea26e38b381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a446532a9ecb437fe83b9f0a09bd0f0"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00025.html#ga99428602d18594a9582cae8e9d255815">_enet_mii_extend_opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga3a446532a9ecb437fe83b9f0a09bd0f0">enet_mii_extend_opcode</a></td></tr>
<tr class="memdesc:ga3a446532a9ecb437fe83b9f0a09bd0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the MII opcode for extended MDIO_CLAUSES_45 Frame. <a href="#ga3a446532a9ecb437fe83b9f0a09bd0f0">More...</a><br/></td></tr>
<tr class="separator:ga3a446532a9ecb437fe83b9f0a09bd0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24d10299b5cfafed5b144a580ff2d04d"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00025.html#ga177421d03c9c60fbc8ac403f6fb511e7">_enet_special_control_flag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga24d10299b5cfafed5b144a580ff2d04d">enet_special_control_flag_t</a></td></tr>
<tr class="memdesc:ga24d10299b5cfafed5b144a580ff2d04d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a special configuration for ENET MAC controller. <a href="#ga24d10299b5cfafed5b144a580ff2d04d">More...</a><br/></td></tr>
<tr class="separator:ga24d10299b5cfafed5b144a580ff2d04d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7828a7d773e0ba7e983e5e25ac9b158"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#ga4e2e582474d9c2e86ea6edf16ef70c97">_enet_interrupt_enable</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158">enet_interrupt_enable_t</a></td></tr>
<tr class="memdesc:gae7828a7d773e0ba7e983e5e25ac9b158"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of interrupts supported by the peripheral. <a href="#gae7828a7d773e0ba7e983e5e25ac9b158">More...</a><br/></td></tr>
<tr class="separator:gae7828a7d773e0ba7e983e5e25ac9b158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34965e8ead244ab448331cad0143fac8"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#ga2d46efb8a1e501381f46532670e2059a">_enet_event</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga34965e8ead244ab448331cad0143fac8">enet_event_t</a></td></tr>
<tr class="memdesc:ga34965e8ead244ab448331cad0143fac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the common interrupt event for callback use. <a href="#ga34965e8ead244ab448331cad0143fac8">More...</a><br/></td></tr>
<tr class="separator:ga34965e8ead244ab448331cad0143fac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5aa65d266d764102d87169dc6c2ffb1"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#ga896bd2a909106726c99ad5ec21d3e7b5">_enet_tx_accelerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaf5aa65d266d764102d87169dc6c2ffb1">enet_tx_accelerator_t</a></td></tr>
<tr class="memdesc:gaf5aa65d266d764102d87169dc6c2ffb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the transmit accelerator configuration. <a href="#gaf5aa65d266d764102d87169dc6c2ffb1">More...</a><br/></td></tr>
<tr class="separator:gaf5aa65d266d764102d87169dc6c2ffb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50488827792ead298806385419a28dc7"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00025.html#gad573870ee83c0916b907ee9a3bc7f48e">_enet_rx_accelerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga50488827792ead298806385419a28dc7">enet_rx_accelerator_t</a></td></tr>
<tr class="memdesc:ga50488827792ead298806385419a28dc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive accelerator configuration. <a href="#ga50488827792ead298806385419a28dc7">More...</a><br/></td></tr>
<tr class="separator:ga50488827792ead298806385419a28dc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9258599b7afe3c54351a7f090ecbefcc"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00368">_enet_rx_bd_struct</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9258599b7afe3c54351a7f090ecbefcc">enet_rx_bd_struct_t</a></td></tr>
<tr class="memdesc:ga9258599b7afe3c54351a7f090ecbefcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive buffer descriptor structure for the little endian system. <a href="#ga9258599b7afe3c54351a7f090ecbefcc">More...</a><br/></td></tr>
<tr class="separator:ga9258599b7afe3c54351a7f090ecbefcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga293febf3ea614a2ec94be3e658ce3779"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00372">_enet_tx_bd_struct</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga293febf3ea614a2ec94be3e658ce3779">enet_tx_bd_struct_t</a></td></tr>
<tr class="memdesc:ga293febf3ea614a2ec94be3e658ce3779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the enhanced transmit buffer descriptor structure for the little endian system. <a href="#ga293febf3ea614a2ec94be3e658ce3779">More...</a><br/></td></tr>
<tr class="separator:ga293febf3ea614a2ec94be3e658ce3779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf72758c18e329d7db133eec827b1dc8"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00025.html#a00364">_enet_data_error_stats</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gabf72758c18e329d7db133eec827b1dc8">enet_data_error_stats_t</a></td></tr>
<tr class="memdesc:gabf72758c18e329d7db133eec827b1dc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET data error statistics structure. <a href="#gabf72758c18e329d7db133eec827b1dc8">More...</a><br/></td></tr>
<tr class="separator:gabf72758c18e329d7db133eec827b1dc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fa8da1b6e38ffd891d85dd33baa8846"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00369">_enet_rx_frame_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga0fa8da1b6e38ffd891d85dd33baa8846">enet_rx_frame_error_t</a></td></tr>
<tr class="memdesc:ga0fa8da1b6e38ffd891d85dd33baa8846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the Rx frame error structure. <a href="#ga0fa8da1b6e38ffd891d85dd33baa8846">More...</a><br/></td></tr>
<tr class="separator:ga0fa8da1b6e38ffd891d85dd33baa8846"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04a3b3a37e6e9f99085044258f573ef7"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00370">_enet_transfer_stats</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga04a3b3a37e6e9f99085044258f573ef7">enet_transfer_stats_t</a></td></tr>
<tr class="memdesc:ga04a3b3a37e6e9f99085044258f573ef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET transfer statistics structure. <a href="#ga04a3b3a37e6e9f99085044258f573ef7">More...</a><br/></td></tr>
<tr class="separator:ga04a3b3a37e6e9f99085044258f573ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f838acb97e5410075da57edfd9ec7bd"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00561">enet_frame_info</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a></td></tr>
<tr class="memdesc:ga5f838acb97e5410075da57edfd9ec7bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the frame info structure. <a href="#ga5f838acb97e5410075da57edfd9ec7bd">More...</a><br/></td></tr>
<tr class="separator:ga5f838acb97e5410075da57edfd9ec7bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dce49c9cde107482c55000ba03e7b4d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00373">_enet_tx_dirty_ring</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga8dce49c9cde107482c55000ba03e7b4d">enet_tx_dirty_ring_t</a></td></tr>
<tr class="memdesc:ga8dce49c9cde107482c55000ba03e7b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET transmit dirty addresses ring/queue structure. <a href="#ga8dce49c9cde107482c55000ba03e7b4d">More...</a><br/></td></tr>
<tr class="separator:ga8dce49c9cde107482c55000ba03e7b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bbb35b6284c30aa9e0f8b72e2b99b19"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga1bbb35b6284c30aa9e0f8b72e2b99b19">enet_rx_alloc_callback_t</a> )(ENET_Type *base, void *userData, uint8_t ringId)</td></tr>
<tr class="memdesc:ga1bbb35b6284c30aa9e0f8b72e2b99b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET Rx memory buffer alloc function pointer. <a href="#ga1bbb35b6284c30aa9e0f8b72e2b99b19">More...</a><br/></td></tr>
<tr class="separator:ga1bbb35b6284c30aa9e0f8b72e2b99b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc91b20606887f2430289a58f03ca815"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gabc91b20606887f2430289a58f03ca815">enet_rx_free_callback_t</a> )(ENET_Type *base, void *buffer, void *userData, uint8_t ringId)</td></tr>
<tr class="memdesc:gabc91b20606887f2430289a58f03ca815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET Rx memory buffer free function pointer. <a href="#gabc91b20606887f2430289a58f03ca815">More...</a><br/></td></tr>
<tr class="separator:gabc91b20606887f2430289a58f03ca815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f56ea6c3ea9998923071f301a08396e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00362">_enet_buffer_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga0f56ea6c3ea9998923071f301a08396e">enet_buffer_config_t</a></td></tr>
<tr class="memdesc:ga0f56ea6c3ea9998923071f301a08396e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive buffer descriptor configuration structure. <a href="#ga0f56ea6c3ea9998923071f301a08396e">More...</a><br/></td></tr>
<tr class="separator:ga0f56ea6c3ea9998923071f301a08396e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ce13dc17143bfef7ced8b60f8d91a9c"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00025.html#a00366">_enet_intcoalesce_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4ce13dc17143bfef7ced8b60f8d91a9c">enet_intcoalesce_config_t</a></td></tr>
<tr class="memdesc:ga4ce13dc17143bfef7ced8b60f8d91a9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the interrupt coalescing configure structure. <a href="#ga4ce13dc17143bfef7ced8b60f8d91a9c">More...</a><br/></td></tr>
<tr class="separator:ga4ce13dc17143bfef7ced8b60f8d91a9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae4a0ac6b9fefb310037eb1d21cfae3a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaae4a0ac6b9fefb310037eb1d21cfae3a">enet_callback_t</a> )(ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, <a class="el" href="a00025.html#ga34965e8ead244ab448331cad0143fac8">enet_event_t</a> event, <a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a> *frameInfo, void *userData)</td></tr>
<tr class="memdesc:gaae4a0ac6b9fefb310037eb1d21cfae3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">ENET callback function. <a href="#gaae4a0ac6b9fefb310037eb1d21cfae3a">More...</a><br/></td></tr>
<tr class="separator:gaae4a0ac6b9fefb310037eb1d21cfae3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae75b54ce31b5961f84a14f884fd03415"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00363">_enet_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a></td></tr>
<tr class="memdesc:gae75b54ce31b5961f84a14f884fd03415"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the basic configuration structure for the ENET device. <a href="#gae75b54ce31b5961f84a14f884fd03415">More...</a><br/></td></tr>
<tr class="separator:gae75b54ce31b5961f84a14f884fd03415"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9c8d539a880b65a4ac4043d02d37e63"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00371">_enet_tx_bd_ring</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaa9c8d539a880b65a4ac4043d02d37e63">enet_tx_bd_ring_t</a></td></tr>
<tr class="memdesc:gaa9c8d539a880b65a4ac4043d02d37e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET transmit buffer descriptor ring/queue structure. <a href="#gaa9c8d539a880b65a4ac4043d02d37e63">More...</a><br/></td></tr>
<tr class="separator:gaa9c8d539a880b65a4ac4043d02d37e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga728bd3d27b4a50f102c0e1f1524f4a01"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00025.html#a00367">_enet_rx_bd_ring</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga728bd3d27b4a50f102c0e1f1524f4a01">enet_rx_bd_ring_t</a></td></tr>
<tr class="memdesc:ga728bd3d27b4a50f102c0e1f1524f4a01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the ENET receive buffer descriptor ring/queue structure. <a href="#ga728bd3d27b4a50f102c0e1f1524f4a01">More...</a><br/></td></tr>
<tr class="separator:ga728bd3d27b4a50f102c0e1f1524f4a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2a1cb1c771a59d8818aa2dfdaf6007f"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a> )(ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gad2a1cb1c771a59d8818aa2dfdaf6007f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define interrupt IRQ handler. <a href="#gad2a1cb1c771a59d8818aa2dfdaf6007f">More...</a><br/></td></tr>
<tr class="separator:gad2a1cb1c771a59d8818aa2dfdaf6007f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9ea7aea34b36e0d0922379df4f2e950e246">kStatus_ENET_InitMemoryFail</a>,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9eaef1f945a6dc8fcf6267d57aac2a19f99">kStatus_ENET_RxFrameError</a> = MAKE_STATUS(kStatusGroup_ENET, 1U),
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9ea97bf0aacb16c8874c7a0a016483cb2ec">kStatus_ENET_RxFrameFail</a> = MAKE_STATUS(kStatusGroup_ENET, 2U),
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9ea50e097caecebfb4afacf2c8a667a5409">kStatus_ENET_RxFrameEmpty</a> = MAKE_STATUS(kStatusGroup_ENET, 3U),
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9ea5cc111bececeba55172e9203a5825659">kStatus_ENET_RxFrameDrop</a> = MAKE_STATUS(kStatusGroup_ENET, 4U),
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9eaf12461c772f3ff70fc5a8664bb49701e">kStatus_ENET_TxFrameOverLen</a> = MAKE_STATUS(kStatusGroup_ENET, 5U),
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9ead15b9b2af39f28f90889bb19f568e844">kStatus_ENET_TxFrameBusy</a> = MAKE_STATUS(kStatusGroup_ENET, 6U),
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9ea34b4c8ff24db933516a0cf13fc8174ad">kStatus_ENET_TxFrameFail</a> = MAKE_STATUS(kStatusGroup_ENET, 7U)
<br/>
}</td></tr>
<tr class="memdesc:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the status return codes for transaction. <a href="a00025.html#ga05589fbab0657f08285ebdfe93f5ec9e">More...</a><br/></td></tr>
<tr class="separator:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ac7a6450188255daf6c0698d6241cbe"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga2ac7a6450188255daf6c0698d6241cbe">_enet_mii_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga2ac7a6450188255daf6c0698d6241cbea8625ad828cb3aae19fa0c2e6934e9368">kENET_MiiMode</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga2ac7a6450188255daf6c0698d6241cbeae44236ebbdfcc0ae1e3520edd3d2d602">kENET_RmiiMode</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga2ac7a6450188255daf6c0698d6241cbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the MII/RMII/RGMII mode for data interface between the MAC and the PHY. <a href="a00025.html#ga2ac7a6450188255daf6c0698d6241cbe">More...</a><br/></td></tr>
<tr class="separator:ga2ac7a6450188255daf6c0698d6241cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b4b5924eca34762bd5ec1ee783aa417"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga1b4b5924eca34762bd5ec1ee783aa417">_enet_mii_speed</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga1b4b5924eca34762bd5ec1ee783aa417a6e8f095a5a1944d54425565b5beb835c">kENET_MiiSpeed10M</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga1b4b5924eca34762bd5ec1ee783aa417a267390f53c987b908852257bf5407e8e">kENET_MiiSpeed100M</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga1b4b5924eca34762bd5ec1ee783aa417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the 10/100/1000 Mbps speed for the MII data interface. <a href="a00025.html#ga1b4b5924eca34762bd5ec1ee783aa417">More...</a><br/></td></tr>
<tr class="separator:ga1b4b5924eca34762bd5ec1ee783aa417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9098c2e8e4fc29f2d2a032b4fc4ae57"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad9098c2e8e4fc29f2d2a032b4fc4ae57">_enet_mii_duplex</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#ggad9098c2e8e4fc29f2d2a032b4fc4ae57ad3b58af3cb1b983f8e3cd45b585c91b9">kENET_MiiHalfDuplex</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#ggad9098c2e8e4fc29f2d2a032b4fc4ae57a0d2ad2c3708231614c716bc921503d6c">kENET_MiiFullDuplex</a>
<br/>
}</td></tr>
<tr class="memdesc:gad9098c2e8e4fc29f2d2a032b4fc4ae57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the half or full duplex for the MII data interface. <a href="a00025.html#gad9098c2e8e4fc29f2d2a032b4fc4ae57">More...</a><br/></td></tr>
<tr class="separator:gad9098c2e8e4fc29f2d2a032b4fc4ae57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf72ec5512ee82526a79d09bb2868bde"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gabf72ec5512ee82526a79d09bb2868bde">_enet_mii_write</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#ggabf72ec5512ee82526a79d09bb2868bdeafa74c106f9ed2436e47a5c3f54382b71">kENET_MiiWriteNoCompliant</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#ggabf72ec5512ee82526a79d09bb2868bdea1611c88e328da10f5c43bd138eca6794">kENET_MiiWriteValidFrame</a>
<br/>
}</td></tr>
<tr class="memdesc:gabf72ec5512ee82526a79d09bb2868bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the MII opcode for normal MDIO_CLAUSES_22 Frame. <a href="a00025.html#gabf72ec5512ee82526a79d09bb2868bde">More...</a><br/></td></tr>
<tr class="separator:gabf72ec5512ee82526a79d09bb2868bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga649bd890441475f51dcba653e48bf2e2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga649bd890441475f51dcba653e48bf2e2">_enet_mii_read</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga649bd890441475f51dcba653e48bf2e2a25d7fb88a8252dc7250617be5ea78f91">kENET_MiiReadValidFrame</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga649bd890441475f51dcba653e48bf2e2a3a3402b126399caf1ad17a2981f69a14">kENET_MiiReadNoCompliant</a> = 3U
<br/>
}</td></tr>
<tr class="memdesc:ga649bd890441475f51dcba653e48bf2e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the read operation for the MII management frame. <a href="a00025.html#ga649bd890441475f51dcba653e48bf2e2">More...</a><br/></td></tr>
<tr class="separator:ga649bd890441475f51dcba653e48bf2e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99428602d18594a9582cae8e9d255815"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga99428602d18594a9582cae8e9d255815">_enet_mii_extend_opcode</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga99428602d18594a9582cae8e9d255815aa031e39c75c2ab6c27c06f447338446b">kENET_MiiAddrWrite_C45</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga99428602d18594a9582cae8e9d255815abc5c4c556438c39c9d2578254431512b">kENET_MiiWriteFrame_C45</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga99428602d18594a9582cae8e9d255815a06eec19796c92e001ad6cc728fc3139d">kENET_MiiReadFrame_C45</a> = 3U
<br/>
}</td></tr>
<tr class="memdesc:ga99428602d18594a9582cae8e9d255815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the MII opcode for extended MDIO_CLAUSES_45 Frame. <a href="a00025.html#ga99428602d18594a9582cae8e9d255815">More...</a><br/></td></tr>
<tr class="separator:ga99428602d18594a9582cae8e9d255815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga177421d03c9c60fbc8ac403f6fb511e7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga177421d03c9c60fbc8ac403f6fb511e7">_enet_special_control_flag</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7a2274920ae245b67edc1538ecc662e2e7">kENET_ControlFlowControlEnable</a> = 0x0001U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7a9493b832848510c47488327ef49e4d09">kENET_ControlRxPayloadCheckEnable</a> = 0x0002U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7aa29ba1cc644bf602ffc8ef9e1ae02892">kENET_ControlRxPadRemoveEnable</a> = 0x0004U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7ade873dafe5c7263f8cc62b0ca92aada3">kENET_ControlRxBroadCastRejectEnable</a> = 0x0008U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7ac806eb5baebf350b694cca943bc812c7">kENET_ControlMacAddrInsert</a> = 0x0010U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7abb1b113283cf4f67722599cc58803643">kENET_ControlStoreAndFwdDisable</a> = 0x0020U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7a8eb7a5389fe9cf0a867066be878efcf1">kENET_ControlSMIPreambleDisable</a> = 0x0040U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7a51af87f0cfef162bc4c48fd0884c0cab">kENET_ControlPromiscuousEnable</a> = 0x0080U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7a8cfbb36dc3a0bebf378ed53d527e93af">kENET_ControlMIILoopEnable</a> = 0x0100U,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga177421d03c9c60fbc8ac403f6fb511e7a3553f9aa0fdc655ffff8e0f46f6cb4b7">kENET_ControlVLANTagEnable</a> = 0x0200U
<br/>
}</td></tr>
<tr class="memdesc:ga177421d03c9c60fbc8ac403f6fb511e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a special configuration for ENET MAC controller. <a href="a00025.html#ga177421d03c9c60fbc8ac403f6fb511e7">More...</a><br/></td></tr>
<tr class="separator:ga177421d03c9c60fbc8ac403f6fb511e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e2e582474d9c2e86ea6edf16ef70c97"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4e2e582474d9c2e86ea6edf16ef70c97">_enet_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a2723f07cc888d945f74650566d79e82e">kENET_BabrInterrupt</a> = ENET_EIR_BABR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a103227b91492fa90cf41212e63b1e7ae">kENET_BabtInterrupt</a> = ENET_EIR_BABT_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1a3e80425de2ce87abc060cef41d1f9e">kENET_GraceStopInterrupt</a> = ENET_EIR_GRA_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f">kENET_TxFrameInterrupt</a> = ENET_EIR_TXF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97ab48679949090d31d9245d28f4b8ac31e">kENET_TxBufferInterrupt</a> = ENET_EIR_TXB_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70">kENET_RxFrameInterrupt</a> = ENET_EIR_RXF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97af4e8f4292fde8f09ade517e91ac8baa7">kENET_RxBufferInterrupt</a> = ENET_EIR_RXB_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97af14e66a1e3dd261481ae560fb2794340">kENET_MiiInterrupt</a> = ENET_EIR_MII_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97ace73af088e05b63d6f8d6aeda6a9908e">kENET_EBusERInterrupt</a> = ENET_EIR_EBERR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1495716c4d2b819469d0243c3768eac1">kENET_LateCollisionInterrupt</a> = ENET_EIR_LC_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a39343a8e490ffbc2146a517b8c4a82b2">kENET_RetryLimitInterrupt</a> = ENET_EIR_RL_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1fa3a1323a0da32594d84172db1e95ed">kENET_UnderrunInterrupt</a> = ENET_EIR_UN_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97aefe7250848088c6a514d609ff1bd6b2c">kENET_PayloadRxInterrupt</a> = ENET_EIR_PLR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a25974ac3cc05e3d928eab800a0f09c27">kENET_WakeupInterrupt</a> = ENET_EIR_WAKEUP_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a9bd0bb3fb86f1c342bbcc3f2407e3e06">kENET_TsAvailInterrupt</a> = ENET_EIR_TS_AVAIL_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7bdae7cedb0c8ca1087feb1511b1bb1c">kENET_TsTimerInterrupt</a> = ENET_EIR_TS_TIMER_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga4e2e582474d9c2e86ea6edf16ef70c97"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of interrupts supported by the peripheral. <a href="a00025.html#ga4e2e582474d9c2e86ea6edf16ef70c97">More...</a><br/></td></tr>
<tr class="separator:ga4e2e582474d9c2e86ea6edf16ef70c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d46efb8a1e501381f46532670e2059a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga2d46efb8a1e501381f46532670e2059a">_enet_event</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga2d46efb8a1e501381f46532670e2059aa0ef30a1e4757622d27d6ca879f300cb6">kENET_RxEvent</a>,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga2d46efb8a1e501381f46532670e2059aaae83f9ee29da3fe085f4d1e24983bef7">kENET_TxEvent</a>,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga2d46efb8a1e501381f46532670e2059aa1b4966d24ea40b037e7f0e1022441ea7">kENET_ErrEvent</a>,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga2d46efb8a1e501381f46532670e2059aa6e0c81e642fcb382d2f38ad32a32ec07">kENET_WakeUpEvent</a>,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga2d46efb8a1e501381f46532670e2059aa2d4e884e83838e4bd8985b0c846e2844">kENET_TimeStampEvent</a>,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga2d46efb8a1e501381f46532670e2059aa5f3aa0c8f959a838732c6a38965a1e2a">kENET_TimeStampAvailEvent</a>
<br/>
}</td></tr>
<tr class="memdesc:ga2d46efb8a1e501381f46532670e2059a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the common interrupt event for callback use. <a href="a00025.html#ga2d46efb8a1e501381f46532670e2059a">More...</a><br/></td></tr>
<tr class="separator:ga2d46efb8a1e501381f46532670e2059a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga896bd2a909106726c99ad5ec21d3e7b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga896bd2a909106726c99ad5ec21d3e7b5">_enet_tx_accelerator</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#gga896bd2a909106726c99ad5ec21d3e7b5a7db407a277c41ca9d215412e2ef05476">kENET_TxAccelIsShift16Enabled</a> = ENET_TACC_SHIFT16_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga896bd2a909106726c99ad5ec21d3e7b5ad2f2ea0738c6b7fcaee5e02f8f1a8645">kENET_TxAccelIpCheckEnabled</a> = ENET_TACC_IPCHK_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#gga896bd2a909106726c99ad5ec21d3e7b5aa85f2b263781a1c43c304c3f380556ae">kENET_TxAccelProtoCheckEnabled</a> = ENET_TACC_PROCHK_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga896bd2a909106726c99ad5ec21d3e7b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the transmit accelerator configuration. <a href="a00025.html#ga896bd2a909106726c99ad5ec21d3e7b5">More...</a><br/></td></tr>
<tr class="separator:ga896bd2a909106726c99ad5ec21d3e7b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad573870ee83c0916b907ee9a3bc7f48e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad573870ee83c0916b907ee9a3bc7f48e">_enet_rx_accelerator</a> { <br/>
&#160;&#160;<a class="el" href="a00025.html#ggad573870ee83c0916b907ee9a3bc7f48ea55ba5425899621f83b28c0c8e61b9060">kENET_RxAccelPadRemoveEnabled</a> = ENET_RACC_PADREM_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#ggad573870ee83c0916b907ee9a3bc7f48ea517175d18302c670ad3b0999a9a1c9b1">kENET_RxAccelIpCheckEnabled</a> = ENET_RACC_IPDIS_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#ggad573870ee83c0916b907ee9a3bc7f48ea122f314d9f24c28b18ce350398fcce98">kENET_RxAccelProtoCheckEnabled</a> = ENET_RACC_PRODIS_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#ggad573870ee83c0916b907ee9a3bc7f48ea3082dc2e884e8b71a82f857c9f24890d">kENET_RxAccelMacCheckEnabled</a> = ENET_RACC_LINEDIS_MASK,
<br/>
&#160;&#160;<a class="el" href="a00025.html#ggad573870ee83c0916b907ee9a3bc7f48ea659e8b06edb4f6944c9969dd56649b89">kENET_RxAccelisShift16Enabled</a> = ENET_RACC_SHIFT16_MASK
<br/>
}</td></tr>
<tr class="memdesc:gad573870ee83c0916b907ee9a3bc7f48e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the receive accelerator configuration. <a href="a00025.html#gad573870ee83c0916b907ee9a3bc7f48e">More...</a><br/></td></tr>
<tr class="separator:gad573870ee83c0916b907ee9a3bc7f48e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga50f498499f0ae949895298dee8ce3683"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga50f498499f0ae949895298dee8ce3683">ENET_GetInstance</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga50f498499f0ae949895298dee8ce3683"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ENET instance from peripheral base address. <a href="#ga50f498499f0ae949895298dee8ce3683">More...</a><br/></td></tr>
<tr class="separator:ga50f498499f0ae949895298dee8ce3683"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga30dd2adf99ab913af9ba7a32734e4f8b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00012.html#gaf3dd76fcb181c1abd9eff8ddfc4f1c13">clock_ip_name_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga30dd2adf99ab913af9ba7a32734e4f8b">s_enetClock</a> []</td></tr>
<tr class="memdesc:ga30dd2adf99ab913af9ba7a32734e4f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointers to enet clocks for each instance. <a href="#ga30dd2adf99ab913af9ba7a32734e4f8b">More...</a><br/></td></tr>
<tr class="separator:ga30dd2adf99ab913af9ba7a32734e4f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:ga869f211125798c5e1f17464dee22704e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga869f211125798c5e1f17464dee22704e">FSL_ENET_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00272.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 7, 1))</td></tr>
<tr class="memdesc:ga869f211125798c5e1f17464dee22704e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the driver version. <a href="#ga869f211125798c5e1f17464dee22704e">More...</a><br/></td></tr>
<tr class="separator:ga869f211125798c5e1f17464dee22704e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Control and status region bit masks of the receive buffer descriptor.</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpc6c72635d9b2d75db8084079ecc1134a"></a>Defines the queue number. </p>
</td></tr>
<tr class="memitem:ga4ecdb738a6f27b81eb9ad44d24d2f1db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4ecdb738a6f27b81eb9ad44d24d2f1db">ENET_BUFFDESCRIPTOR_RX_EMPTY_MASK</a>&#160;&#160;&#160;0x8000U</td></tr>
<tr class="memdesc:ga4ecdb738a6f27b81eb9ad44d24d2f1db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty bit mask. <a href="#ga4ecdb738a6f27b81eb9ad44d24d2f1db">More...</a><br/></td></tr>
<tr class="separator:ga4ecdb738a6f27b81eb9ad44d24d2f1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3815af5aedc53cf345ae5186f711d6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gac3815af5aedc53cf345ae5186f711d6d">ENET_BUFFDESCRIPTOR_RX_SOFTOWNER1_MASK</a>&#160;&#160;&#160;0x4000U</td></tr>
<tr class="memdesc:gac3815af5aedc53cf345ae5186f711d6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software owner one mask. <a href="#gac3815af5aedc53cf345ae5186f711d6d">More...</a><br/></td></tr>
<tr class="separator:gac3815af5aedc53cf345ae5186f711d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37f7e7094697aa06285df27da4e3791f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga37f7e7094697aa06285df27da4e3791f">ENET_BUFFDESCRIPTOR_RX_WRAP_MASK</a>&#160;&#160;&#160;0x2000U</td></tr>
<tr class="memdesc:ga37f7e7094697aa06285df27da4e3791f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Next buffer descriptor is the start address. <a href="#ga37f7e7094697aa06285df27da4e3791f">More...</a><br/></td></tr>
<tr class="separator:ga37f7e7094697aa06285df27da4e3791f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6097b5e5b8015de197db0e54cbb5425f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga6097b5e5b8015de197db0e54cbb5425f">ENET_BUFFDESCRIPTOR_RX_SOFTOWNER2_Mask</a>&#160;&#160;&#160;0x1000U</td></tr>
<tr class="memdesc:ga6097b5e5b8015de197db0e54cbb5425f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software owner two mask. <a href="#ga6097b5e5b8015de197db0e54cbb5425f">More...</a><br/></td></tr>
<tr class="separator:ga6097b5e5b8015de197db0e54cbb5425f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae302c57c88bade74af59c4bcfcac7d0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae302c57c88bade74af59c4bcfcac7d0f">ENET_BUFFDESCRIPTOR_RX_LAST_MASK</a>&#160;&#160;&#160;0x0800U</td></tr>
<tr class="memdesc:gae302c57c88bade74af59c4bcfcac7d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last BD of the frame mask. <a href="#gae302c57c88bade74af59c4bcfcac7d0f">More...</a><br/></td></tr>
<tr class="separator:gae302c57c88bade74af59c4bcfcac7d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad622789c0bb27a6ac2ab54e3526d2712"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad622789c0bb27a6ac2ab54e3526d2712">ENET_BUFFDESCRIPTOR_RX_MISS_MASK</a>&#160;&#160;&#160;0x0100U</td></tr>
<tr class="memdesc:gad622789c0bb27a6ac2ab54e3526d2712"><td class="mdescLeft">&#160;</td><td class="mdescRight">Received because of the promiscuous mode. <a href="#gad622789c0bb27a6ac2ab54e3526d2712">More...</a><br/></td></tr>
<tr class="separator:gad622789c0bb27a6ac2ab54e3526d2712"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4cfa2a92c961ee34445976e2949c00d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae4cfa2a92c961ee34445976e2949c00d">ENET_BUFFDESCRIPTOR_RX_BROADCAST_MASK</a>&#160;&#160;&#160;0x0080U</td></tr>
<tr class="memdesc:gae4cfa2a92c961ee34445976e2949c00d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcast packet mask. <a href="#gae4cfa2a92c961ee34445976e2949c00d">More...</a><br/></td></tr>
<tr class="separator:gae4cfa2a92c961ee34445976e2949c00d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf47a7a6cf15a885878a39749f9d645ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaf47a7a6cf15a885878a39749f9d645ed">ENET_BUFFDESCRIPTOR_RX_MULTICAST_MASK</a>&#160;&#160;&#160;0x0040U</td></tr>
<tr class="memdesc:gaf47a7a6cf15a885878a39749f9d645ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multicast packet mask. <a href="#gaf47a7a6cf15a885878a39749f9d645ed">More...</a><br/></td></tr>
<tr class="separator:gaf47a7a6cf15a885878a39749f9d645ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f">ENET_BUFFDESCRIPTOR_RX_LENVLIOLATE_MASK</a>&#160;&#160;&#160;0x0020U</td></tr>
<tr class="memdesc:ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length violation mask. <a href="#ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f">More...</a><br/></td></tr>
<tr class="separator:ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67881a213531011e78cc56a3ac017549"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga67881a213531011e78cc56a3ac017549">ENET_BUFFDESCRIPTOR_RX_NOOCTET_MASK</a>&#160;&#160;&#160;0x0010U</td></tr>
<tr class="memdesc:ga67881a213531011e78cc56a3ac017549"><td class="mdescLeft">&#160;</td><td class="mdescRight">Non-octet aligned frame mask. <a href="#ga67881a213531011e78cc56a3ac017549">More...</a><br/></td></tr>
<tr class="separator:ga67881a213531011e78cc56a3ac017549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f57d5345b3a3f349e834e0d46645ce3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4f57d5345b3a3f349e834e0d46645ce3">ENET_BUFFDESCRIPTOR_RX_CRC_MASK</a>&#160;&#160;&#160;0x0004U</td></tr>
<tr class="memdesc:ga4f57d5345b3a3f349e834e0d46645ce3"><td class="mdescLeft">&#160;</td><td class="mdescRight">CRC error mask. <a href="#ga4f57d5345b3a3f349e834e0d46645ce3">More...</a><br/></td></tr>
<tr class="separator:ga4f57d5345b3a3f349e834e0d46645ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31d458f38d3123c1eb398bf57d1ebacc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga31d458f38d3123c1eb398bf57d1ebacc">ENET_BUFFDESCRIPTOR_RX_OVERRUN_MASK</a>&#160;&#160;&#160;0x0002U</td></tr>
<tr class="memdesc:ga31d458f38d3123c1eb398bf57d1ebacc"><td class="mdescLeft">&#160;</td><td class="mdescRight">FIFO overrun mask. <a href="#ga31d458f38d3123c1eb398bf57d1ebacc">More...</a><br/></td></tr>
<tr class="separator:ga31d458f38d3123c1eb398bf57d1ebacc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e3e6bac667500c8ff096be418e7a0e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9e3e6bac667500c8ff096be418e7a0e1">ENET_BUFFDESCRIPTOR_RX_TRUNC_MASK</a>&#160;&#160;&#160;0x0001U</td></tr>
<tr class="memdesc:ga9e3e6bac667500c8ff096be418e7a0e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame is truncated mask. <a href="#ga9e3e6bac667500c8ff096be418e7a0e1">More...</a><br/></td></tr>
<tr class="separator:ga9e3e6bac667500c8ff096be418e7a0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Control and status bit masks of the transmit buffer descriptor.</h2></td></tr>
<tr class="memitem:ga842251a5e8c62968a87578698f0dd083"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga842251a5e8c62968a87578698f0dd083">ENET_BUFFDESCRIPTOR_TX_READY_MASK</a>&#160;&#160;&#160;0x8000U</td></tr>
<tr class="memdesc:ga842251a5e8c62968a87578698f0dd083"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ready bit mask. <a href="#ga842251a5e8c62968a87578698f0dd083">More...</a><br/></td></tr>
<tr class="separator:ga842251a5e8c62968a87578698f0dd083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae76d465c3a9f07b28f48433022a005cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae76d465c3a9f07b28f48433022a005cc">ENET_BUFFDESCRIPTOR_TX_SOFTOWENER1_MASK</a>&#160;&#160;&#160;0x4000U</td></tr>
<tr class="memdesc:gae76d465c3a9f07b28f48433022a005cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software owner one mask. <a href="#gae76d465c3a9f07b28f48433022a005cc">More...</a><br/></td></tr>
<tr class="separator:gae76d465c3a9f07b28f48433022a005cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga159bc70ce067d81c7b44917f16ab596e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga159bc70ce067d81c7b44917f16ab596e">ENET_BUFFDESCRIPTOR_TX_WRAP_MASK</a>&#160;&#160;&#160;0x2000U</td></tr>
<tr class="memdesc:ga159bc70ce067d81c7b44917f16ab596e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap buffer descriptor mask. <a href="#ga159bc70ce067d81c7b44917f16ab596e">More...</a><br/></td></tr>
<tr class="separator:ga159bc70ce067d81c7b44917f16ab596e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09c9ab0c2b634f6e97df4e5b5c4bc8a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga09c9ab0c2b634f6e97df4e5b5c4bc8a1">ENET_BUFFDESCRIPTOR_TX_SOFTOWENER2_MASK</a>&#160;&#160;&#160;0x1000U</td></tr>
<tr class="memdesc:ga09c9ab0c2b634f6e97df4e5b5c4bc8a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software owner two mask. <a href="#ga09c9ab0c2b634f6e97df4e5b5c4bc8a1">More...</a><br/></td></tr>
<tr class="separator:ga09c9ab0c2b634f6e97df4e5b5c4bc8a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59497a4cfa4e8df8ceb6e6b39549ea1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga59497a4cfa4e8df8ceb6e6b39549ea1d">ENET_BUFFDESCRIPTOR_TX_LAST_MASK</a>&#160;&#160;&#160;0x0800U</td></tr>
<tr class="memdesc:ga59497a4cfa4e8df8ceb6e6b39549ea1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last BD of the frame mask. <a href="#ga59497a4cfa4e8df8ceb6e6b39549ea1d">More...</a><br/></td></tr>
<tr class="separator:ga59497a4cfa4e8df8ceb6e6b39549ea1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4119af7a03ab546888a3853f228b09bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4119af7a03ab546888a3853f228b09bd">ENET_BUFFDESCRIPTOR_TX_TRANMITCRC_MASK</a>&#160;&#160;&#160;0x0400U</td></tr>
<tr class="memdesc:ga4119af7a03ab546888a3853f228b09bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit CRC mask. <a href="#ga4119af7a03ab546888a3853f228b09bd">More...</a><br/></td></tr>
<tr class="separator:ga4119af7a03ab546888a3853f228b09bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Defines some Ethernet parameters.</h2></td></tr>
<tr class="memitem:ga4fa46b5ee409f6d147980adc57493f6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4fa46b5ee409f6d147980adc57493f6d">ENET_FRAME_MAX_FRAMELEN</a>&#160;&#160;&#160;1518U</td></tr>
<tr class="memdesc:ga4fa46b5ee409f6d147980adc57493f6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default maximum Ethernet frame size without VLAN tag. <a href="#ga4fa46b5ee409f6d147980adc57493f6d">More...</a><br/></td></tr>
<tr class="separator:ga4fa46b5ee409f6d147980adc57493f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d65d69c078899c7c1673f11a26adfe7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga7d65d69c078899c7c1673f11a26adfe7">ENET_FRAME_VLAN_TAGLEN</a>&#160;&#160;&#160;4U</td></tr>
<tr class="memdesc:ga7d65d69c078899c7c1673f11a26adfe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ethernet single VLAN tag size. <a href="#ga7d65d69c078899c7c1673f11a26adfe7">More...</a><br/></td></tr>
<tr class="separator:ga7d65d69c078899c7c1673f11a26adfe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84b8a613eb8bfff9a737b6e58785b84a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga84b8a613eb8bfff9a737b6e58785b84a">ENET_FRAME_CRC_LEN</a>&#160;&#160;&#160;4U</td></tr>
<tr class="memdesc:ga84b8a613eb8bfff9a737b6e58785b84a"><td class="mdescLeft">&#160;</td><td class="mdescRight">CRC size in a frame. <a href="#ga84b8a613eb8bfff9a737b6e58785b84a">More...</a><br/></td></tr>
<tr class="separator:ga84b8a613eb8bfff9a737b6e58785b84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cedaaf404ebb5826a9956bcf4f257df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3cedaaf404ebb5826a9956bcf4f257df"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ENET_FRAME_TX_LEN_LIMITATION</b>(x)&#160;&#160;&#160;((((x)-&gt;RCR &amp; ENET_RCR_MAX_FL_MASK) &gt;&gt; ENET_RCR_MAX_FL_SHIFT) - <a class="el" href="a00025.html#ga84b8a613eb8bfff9a737b6e58785b84a">ENET_FRAME_CRC_LEN</a>)</td></tr>
<tr class="separator:ga3cedaaf404ebb5826a9956bcf4f257df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9e50e322b991831fd71514002a3ca7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae9e50e322b991831fd71514002a3ca7b">ENET_FIFO_MIN_RX_FULL</a>&#160;&#160;&#160;5U</td></tr>
<tr class="memdesc:gae9e50e322b991831fd71514002a3ca7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">ENET minimum receive FIFO full. <a href="#gae9e50e322b991831fd71514002a3ca7b">More...</a><br/></td></tr>
<tr class="separator:gae9e50e322b991831fd71514002a3ca7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedbdd29c8a3e25c856b42f13edebcd8d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaedbdd29c8a3e25c856b42f13edebcd8d">ENET_RX_MIN_BUFFERSIZE</a>&#160;&#160;&#160;256U</td></tr>
<tr class="memdesc:gaedbdd29c8a3e25c856b42f13edebcd8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ENET minimum buffer size. <a href="#gaedbdd29c8a3e25c856b42f13edebcd8d">More...</a><br/></td></tr>
<tr class="separator:gaedbdd29c8a3e25c856b42f13edebcd8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f4edc29c5f534c4bd8f1afbd0185a4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga1f4edc29c5f534c4bd8f1afbd0185a4f">ENET_PHY_MAXADDRESS</a>&#160;&#160;&#160;(ENET_MMFR_PA_MASK &gt;&gt; ENET_MMFR_PA_SHIFT)</td></tr>
<tr class="memdesc:ga1f4edc29c5f534c4bd8f1afbd0185a4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum PHY address. <a href="#ga1f4edc29c5f534c4bd8f1afbd0185a4f">More...</a><br/></td></tr>
<tr class="separator:ga1f4edc29c5f534c4bd8f1afbd0185a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcfe9d54430081cd436f002f4912e6b0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gabcfe9d54430081cd436f002f4912e6b0">ENET_TX_INTERRUPT</a>&#160;&#160;&#160;((uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f">kENET_TxFrameInterrupt</a> | (uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97ab48679949090d31d9245d28f4b8ac31e">kENET_TxBufferInterrupt</a>)</td></tr>
<tr class="memdesc:gabcfe9d54430081cd436f002f4912e6b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enet Tx interrupt flag. <a href="#gabcfe9d54430081cd436f002f4912e6b0">More...</a><br/></td></tr>
<tr class="separator:gabcfe9d54430081cd436f002f4912e6b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga884cb09f25caa75519ab5514393cc118"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga884cb09f25caa75519ab5514393cc118">ENET_RX_INTERRUPT</a>&#160;&#160;&#160;((uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70">kENET_RxFrameInterrupt</a> | (uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97af4e8f4292fde8f09ade517e91ac8baa7">kENET_RxBufferInterrupt</a>)</td></tr>
<tr class="memdesc:ga884cb09f25caa75519ab5514393cc118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enet Rx interrupt flag. <a href="#ga884cb09f25caa75519ab5514393cc118">More...</a><br/></td></tr>
<tr class="separator:ga884cb09f25caa75519ab5514393cc118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1542982978e8f2293acbbf1a989d7fdb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga1542982978e8f2293acbbf1a989d7fdb">ENET_TS_INTERRUPT</a>&#160;&#160;&#160;((uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7bdae7cedb0c8ca1087feb1511b1bb1c">kENET_TsTimerInterrupt</a> | (uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a9bd0bb3fb86f1c342bbcc3f2407e3e06">kENET_TsAvailInterrupt</a>)</td></tr>
<tr class="memdesc:ga1542982978e8f2293acbbf1a989d7fdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enet timestamp interrupt flag. <a href="#ga1542982978e8f2293acbbf1a989d7fdb">More...</a><br/></td></tr>
<tr class="separator:ga1542982978e8f2293acbbf1a989d7fdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf207b6aa1230056b8daeca5ccb0fe8fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaf207b6aa1230056b8daeca5ccb0fe8fd">ENET_ERR_INTERRUPT</a></td></tr>
<tr class="memdesc:gaf207b6aa1230056b8daeca5ccb0fe8fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enet error interrupt flag. <a href="#gaf207b6aa1230056b8daeca5ccb0fe8fd">More...</a><br/></td></tr>
<tr class="separator:gaf207b6aa1230056b8daeca5ccb0fe8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization and De-initialization</h2></td></tr>
<tr class="memitem:gaf0992a0c9c3a27b2a40226ac38a26d1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaf0992a0c9c3a27b2a40226ac38a26d1e">ENET_GetDefaultConfig</a> (<a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a> *config)</td></tr>
<tr class="memdesc:gaf0992a0c9c3a27b2a40226ac38a26d1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the ENET default configuration structure. <a href="#gaf0992a0c9c3a27b2a40226ac38a26d1e">More...</a><br/></td></tr>
<tr class="separator:gaf0992a0c9c3a27b2a40226ac38a26d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54fbc7883a06c944520b495d9beaf642"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga54fbc7883a06c944520b495d9beaf642">ENET_Up</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, const <a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a> *config, const <a class="el" href="a00025.html#ga0f56ea6c3ea9998923071f301a08396e">enet_buffer_config_t</a> *bufferConfig, uint8_t *macAddr, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga54fbc7883a06c944520b495d9beaf642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the ENET module. <a href="#ga54fbc7883a06c944520b495d9beaf642">More...</a><br/></td></tr>
<tr class="separator:ga54fbc7883a06c944520b495d9beaf642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf110b83a0fc68e066e66f71761167e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaf110b83a0fc68e066e66f71761167e72">ENET_Init</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, const <a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a> *config, const <a class="el" href="a00025.html#ga0f56ea6c3ea9998923071f301a08396e">enet_buffer_config_t</a> *bufferConfig, uint8_t *macAddr, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:gaf110b83a0fc68e066e66f71761167e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the ENET module. <a href="#gaf110b83a0fc68e066e66f71761167e72">More...</a><br/></td></tr>
<tr class="separator:gaf110b83a0fc68e066e66f71761167e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1cc2627749a65945a76703cd2afb90b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gac1cc2627749a65945a76703cd2afb90b">ENET_Down</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:gac1cc2627749a65945a76703cd2afb90b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the ENET module. <a href="#gac1cc2627749a65945a76703cd2afb90b">More...</a><br/></td></tr>
<tr class="separator:gac1cc2627749a65945a76703cd2afb90b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72f7e3493a2f4134324e9e72492bdbbc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga72f7e3493a2f4134324e9e72492bdbbc">ENET_Deinit</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga72f7e3493a2f4134324e9e72492bdbbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes the ENET module. <a href="#ga72f7e3493a2f4134324e9e72492bdbbc">More...</a><br/></td></tr>
<tr class="separator:ga72f7e3493a2f4134324e9e72492bdbbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga809c3f91a850b53afa5511603b1c91df"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga809c3f91a850b53afa5511603b1c91df">ENET_Reset</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga809c3f91a850b53afa5511603b1c91df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the ENET module. <a href="#ga809c3f91a850b53afa5511603b1c91df">More...</a><br/></td></tr>
<tr class="separator:ga809c3f91a850b53afa5511603b1c91df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
MII interface operation</h2></td></tr>
<tr class="memitem:ga9008a47cdf43fe2eddde467c9841fc7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9008a47cdf43fe2eddde467c9841fc7b">ENET_SetMII</a> (ENET_Type *base, <a class="el" href="a00025.html#gaba02d036bbe1463f21d421eed4358bb2">enet_mii_speed_t</a> speed, <a class="el" href="a00025.html#ga75c2799d0b0a4d091a6dbc4d67d8b55f">enet_mii_duplex_t</a> duplex)</td></tr>
<tr class="memdesc:ga9008a47cdf43fe2eddde467c9841fc7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ENET MII speed and duplex. <a href="#ga9008a47cdf43fe2eddde467c9841fc7b">More...</a><br/></td></tr>
<tr class="separator:ga9008a47cdf43fe2eddde467c9841fc7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e2546cfd538bd06950f2145592858f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4e2546cfd538bd06950f2145592858f1">ENET_SetSMI</a> (ENET_Type *base, uint32_t srcClock_Hz, bool isPreambleDisabled)</td></tr>
<tr class="memdesc:ga4e2546cfd538bd06950f2145592858f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ENET SMI(serial management interface)- MII management interface. <a href="#ga4e2546cfd538bd06950f2145592858f1">More...</a><br/></td></tr>
<tr class="separator:ga4e2546cfd538bd06950f2145592858f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95deb3a7ea7873830ed7b65cabe93b88"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga95deb3a7ea7873830ed7b65cabe93b88">ENET_GetSMI</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga95deb3a7ea7873830ed7b65cabe93b88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the ENET SMI- MII management interface configuration. <a href="#ga95deb3a7ea7873830ed7b65cabe93b88">More...</a><br/></td></tr>
<tr class="separator:ga95deb3a7ea7873830ed7b65cabe93b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1720662e45648e0f081b9152c36b3156"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga1720662e45648e0f081b9152c36b3156">ENET_ReadSMIData</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga1720662e45648e0f081b9152c36b3156"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from the PHY register through an SMI interface. <a href="#ga1720662e45648e0f081b9152c36b3156">More...</a><br/></td></tr>
<tr class="separator:ga1720662e45648e0f081b9152c36b3156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga928b72c0b95d7f4af73a753b8afd08e2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga928b72c0b95d7f4af73a753b8afd08e2">ENET_StartSMIWrite</a> (ENET_Type *base, uint8_t phyAddr, uint8_t regAddr, <a class="el" href="a00025.html#gad2c3fc6bdee746926b3f15647aac3732">enet_mii_write_t</a> operation, uint16_t data)</td></tr>
<tr class="memdesc:ga928b72c0b95d7f4af73a753b8afd08e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the MDIO IEEE802.3 Clause 22 format write command. <a href="#ga928b72c0b95d7f4af73a753b8afd08e2">More...</a><br/></td></tr>
<tr class="separator:ga928b72c0b95d7f4af73a753b8afd08e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga447a3f073b07936eff311f58024a8469"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga447a3f073b07936eff311f58024a8469">ENET_StartSMIRead</a> (ENET_Type *base, uint8_t phyAddr, uint8_t regAddr, <a class="el" href="a00025.html#ga6df5ee84f48d543040cf6ea26e38b381">enet_mii_read_t</a> operation)</td></tr>
<tr class="memdesc:ga447a3f073b07936eff311f58024a8469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the MDIO IEEE802.3 Clause 22 format read command. <a href="#ga447a3f073b07936eff311f58024a8469">More...</a><br/></td></tr>
<tr class="separator:ga447a3f073b07936eff311f58024a8469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadaaa62f2a826957ac10a75e4c2a5b739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gadaaa62f2a826957ac10a75e4c2a5b739">ENET_MDIOWrite</a> (ENET_Type *base, uint8_t phyAddr, uint8_t regAddr, uint16_t data)</td></tr>
<tr class="memdesc:gadaaa62f2a826957ac10a75e4c2a5b739"><td class="mdescLeft">&#160;</td><td class="mdescRight">MDIO write with IEEE802.3 Clause 22 format. <a href="#gadaaa62f2a826957ac10a75e4c2a5b739">More...</a><br/></td></tr>
<tr class="separator:gadaaa62f2a826957ac10a75e4c2a5b739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga892febd8596edf39f3301551df9dcc2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga892febd8596edf39f3301551df9dcc2c">ENET_MDIORead</a> (ENET_Type *base, uint8_t phyAddr, uint8_t regAddr, uint16_t *pData)</td></tr>
<tr class="memdesc:ga892febd8596edf39f3301551df9dcc2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">MDIO read with IEEE802.3 Clause 22 format. <a href="#ga892febd8596edf39f3301551df9dcc2c">More...</a><br/></td></tr>
<tr class="separator:ga892febd8596edf39f3301551df9dcc2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3be81738069472cacdf23d4d4630c68c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga3be81738069472cacdf23d4d4630c68c">ENET_StartExtC45SMIWriteReg</a> (ENET_Type *base, uint8_t portAddr, uint8_t devAddr, uint16_t regAddr)</td></tr>
<tr class="memdesc:ga3be81738069472cacdf23d4d4630c68c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the MDIO IEEE802.3 Clause 45 format write register command. <a href="#ga3be81738069472cacdf23d4d4630c68c">More...</a><br/></td></tr>
<tr class="separator:ga3be81738069472cacdf23d4d4630c68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc36d236821701ab448245009796c4b6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gacc36d236821701ab448245009796c4b6">ENET_StartExtC45SMIWriteData</a> (ENET_Type *base, uint8_t portAddr, uint8_t devAddr, uint16_t data)</td></tr>
<tr class="memdesc:gacc36d236821701ab448245009796c4b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the MDIO IEEE802.3 Clause 45 format write data command. <a href="#gacc36d236821701ab448245009796c4b6">More...</a><br/></td></tr>
<tr class="separator:gacc36d236821701ab448245009796c4b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9b5e10d43bf267bc32cc3019ac52338"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gab9b5e10d43bf267bc32cc3019ac52338">ENET_StartExtC45SMIReadData</a> (ENET_Type *base, uint8_t portAddr, uint8_t devAddr)</td></tr>
<tr class="memdesc:gab9b5e10d43bf267bc32cc3019ac52338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the MDIO IEEE802.3 Clause 45 format read data command. <a href="#gab9b5e10d43bf267bc32cc3019ac52338">More...</a><br/></td></tr>
<tr class="separator:gab9b5e10d43bf267bc32cc3019ac52338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga610d4b0c009d03f06e208431ff1b9f33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga610d4b0c009d03f06e208431ff1b9f33">ENET_MDIOC45Write</a> (ENET_Type *base, uint8_t portAddr, uint8_t devAddr, uint16_t regAddr, uint16_t data)</td></tr>
<tr class="memdesc:ga610d4b0c009d03f06e208431ff1b9f33"><td class="mdescLeft">&#160;</td><td class="mdescRight">MDIO write with IEEE802.3 Clause 45 format. <a href="#ga610d4b0c009d03f06e208431ff1b9f33">More...</a><br/></td></tr>
<tr class="separator:ga610d4b0c009d03f06e208431ff1b9f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a900675299361505ed7992137ff9061"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga4a900675299361505ed7992137ff9061">ENET_MDIOC45Read</a> (ENET_Type *base, uint8_t portAddr, uint8_t devAddr, uint16_t regAddr, uint16_t *pData)</td></tr>
<tr class="memdesc:ga4a900675299361505ed7992137ff9061"><td class="mdescLeft">&#160;</td><td class="mdescRight">MDIO read with IEEE802.3 Clause 45 format. <a href="#ga4a900675299361505ed7992137ff9061">More...</a><br/></td></tr>
<tr class="separator:ga4a900675299361505ed7992137ff9061"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
MAC Address Filter</h2></td></tr>
<tr class="memitem:ga924622a35ef81eaf69d4a4fd9302a7be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga924622a35ef81eaf69d4a4fd9302a7be">ENET_SetMacAddr</a> (ENET_Type *base, uint8_t *macAddr)</td></tr>
<tr class="memdesc:ga924622a35ef81eaf69d4a4fd9302a7be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ENET module Mac address. <a href="#ga924622a35ef81eaf69d4a4fd9302a7be">More...</a><br/></td></tr>
<tr class="separator:ga924622a35ef81eaf69d4a4fd9302a7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89e5a62af8d1ebf7359faa1fc13b56bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga89e5a62af8d1ebf7359faa1fc13b56bc">ENET_GetMacAddr</a> (ENET_Type *base, uint8_t *macAddr)</td></tr>
<tr class="memdesc:ga89e5a62af8d1ebf7359faa1fc13b56bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the ENET module Mac address. <a href="#ga89e5a62af8d1ebf7359faa1fc13b56bc">More...</a><br/></td></tr>
<tr class="separator:ga89e5a62af8d1ebf7359faa1fc13b56bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b9495b14a42f5b1ee24dcc5a6a9f227"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga5b9495b14a42f5b1ee24dcc5a6a9f227">ENET_AddMulticastGroup</a> (ENET_Type *base, uint8_t *address)</td></tr>
<tr class="memdesc:ga5b9495b14a42f5b1ee24dcc5a6a9f227"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the ENET device to a multicast group. <a href="#ga5b9495b14a42f5b1ee24dcc5a6a9f227">More...</a><br/></td></tr>
<tr class="separator:ga5b9495b14a42f5b1ee24dcc5a6a9f227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2aa6b359b811460a6fb9a2588688bf30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga2aa6b359b811460a6fb9a2588688bf30">ENET_LeaveMulticastGroup</a> (ENET_Type *base, uint8_t *address)</td></tr>
<tr class="memdesc:ga2aa6b359b811460a6fb9a2588688bf30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the ENET device from a multicast group. <a href="#ga2aa6b359b811460a6fb9a2588688bf30">More...</a><br/></td></tr>
<tr class="separator:ga2aa6b359b811460a6fb9a2588688bf30"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Other basic operation</h2></td></tr>
<tr class="memitem:ga6e067d2d9b41ad32ce7b32ecad8cefc3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga6e067d2d9b41ad32ce7b32ecad8cefc3">ENET_ActiveRead</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga6e067d2d9b41ad32ce7b32ecad8cefc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates frame reception for multiple rings. <a href="#ga6e067d2d9b41ad32ce7b32ecad8cefc3">More...</a><br/></td></tr>
<tr class="separator:ga6e067d2d9b41ad32ce7b32ecad8cefc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a7bb3eb9a6be017e21ce53f2343e8bf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9a7bb3eb9a6be017e21ce53f2343e8bf">ENET_EnableSleepMode</a> (ENET_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga9a7bb3eb9a6be017e21ce53f2343e8bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the MAC to enter sleep mode. <a href="#ga9a7bb3eb9a6be017e21ce53f2343e8bf">More...</a><br/></td></tr>
<tr class="separator:ga9a7bb3eb9a6be017e21ce53f2343e8bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d32189b130fbca31cdee7ceb57bf543"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga8d32189b130fbca31cdee7ceb57bf543">ENET_GetAccelFunction</a> (ENET_Type *base, uint32_t *txAccelOption, uint32_t *rxAccelOption)</td></tr>
<tr class="memdesc:ga8d32189b130fbca31cdee7ceb57bf543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets ENET transmit and receive accelerator functions from MAC controller. <a href="#ga8d32189b130fbca31cdee7ceb57bf543">More...</a><br/></td></tr>
<tr class="separator:ga8d32189b130fbca31cdee7ceb57bf543"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts.</h2></td></tr>
<tr class="memitem:gad9e530c5904c36e8f23fe22f8c63651b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad9e530c5904c36e8f23fe22f8c63651b">ENET_EnableInterrupts</a> (ENET_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gad9e530c5904c36e8f23fe22f8c63651b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the ENET interrupt. <a href="#gad9e530c5904c36e8f23fe22f8c63651b">More...</a><br/></td></tr>
<tr class="separator:gad9e530c5904c36e8f23fe22f8c63651b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a6f1de5e8f1dd09d217244899c3c8db"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga6a6f1de5e8f1dd09d217244899c3c8db">ENET_DisableInterrupts</a> (ENET_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga6a6f1de5e8f1dd09d217244899c3c8db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the ENET interrupt. <a href="#ga6a6f1de5e8f1dd09d217244899c3c8db">More...</a><br/></td></tr>
<tr class="separator:ga6a6f1de5e8f1dd09d217244899c3c8db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b9f5a57ff20ccf83fc8887c1bba2cec"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9b9f5a57ff20ccf83fc8887c1bba2cec">ENET_GetInterruptStatus</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga9b9f5a57ff20ccf83fc8887c1bba2cec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the ENET interrupt status flag. <a href="#ga9b9f5a57ff20ccf83fc8887c1bba2cec">More...</a><br/></td></tr>
<tr class="separator:ga9b9f5a57ff20ccf83fc8887c1bba2cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98676acb368ed3d238278b4ede220469"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga98676acb368ed3d238278b4ede220469">ENET_ClearInterruptStatus</a> (ENET_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga98676acb368ed3d238278b4ede220469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the ENET interrupt events status flag. <a href="#ga98676acb368ed3d238278b4ede220469">More...</a><br/></td></tr>
<tr class="separator:ga98676acb368ed3d238278b4ede220469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0a49d18e9825a66351bc735400d0827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gad0a49d18e9825a66351bc735400d0827">ENET_SetRxISRHandler</a> (ENET_Type *base, <a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a> ISRHandler)</td></tr>
<tr class="memdesc:gad0a49d18e9825a66351bc735400d0827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the second level Rx IRQ handler. <a href="#gad0a49d18e9825a66351bc735400d0827">More...</a><br/></td></tr>
<tr class="separator:gad0a49d18e9825a66351bc735400d0827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga802e9706d0899a12ea01c9ac1c3ca12e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga802e9706d0899a12ea01c9ac1c3ca12e">ENET_SetTxISRHandler</a> (ENET_Type *base, <a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a> ISRHandler)</td></tr>
<tr class="memdesc:ga802e9706d0899a12ea01c9ac1c3ca12e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the second level Tx IRQ handler. <a href="#ga802e9706d0899a12ea01c9ac1c3ca12e">More...</a><br/></td></tr>
<tr class="separator:ga802e9706d0899a12ea01c9ac1c3ca12e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4533115d3b695265422584bc6964756"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaa4533115d3b695265422584bc6964756">ENET_SetErrISRHandler</a> (ENET_Type *base, <a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a> ISRHandler)</td></tr>
<tr class="memdesc:gaa4533115d3b695265422584bc6964756"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the second level Err IRQ handler. <a href="#gaa4533115d3b695265422584bc6964756">More...</a><br/></td></tr>
<tr class="separator:gaa4533115d3b695265422584bc6964756"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Transactional operation</h2></td></tr>
<tr class="memitem:gae8d5c96025f7b1b870e5eb20850dfa87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gae8d5c96025f7b1b870e5eb20850dfa87">ENET_GetRxErrBeforeReadFrame</a> (<a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, <a class="el" href="a00025.html#gabf72758c18e329d7db133eec827b1dc8">enet_data_error_stats_t</a> *eErrorStatic, uint8_t ringId)</td></tr>
<tr class="memdesc:gae8d5c96025f7b1b870e5eb20850dfa87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the error statistics of a received frame for ENET specified ring. <a href="#gae8d5c96025f7b1b870e5eb20850dfa87">More...</a><br/></td></tr>
<tr class="separator:gae8d5c96025f7b1b870e5eb20850dfa87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9f83023f8f13cd9a7e61e49acda85da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaa9f83023f8f13cd9a7e61e49acda85da">ENET_GetStatistics</a> (ENET_Type *base, <a class="el" href="a00025.html#ga04a3b3a37e6e9f99085044258f573ef7">enet_transfer_stats_t</a> *statistics)</td></tr>
<tr class="memdesc:gaa9f83023f8f13cd9a7e61e49acda85da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets statistical data in transfer. <a href="#gaa9f83023f8f13cd9a7e61e49acda85da">More...</a><br/></td></tr>
<tr class="separator:gaa9f83023f8f13cd9a7e61e49acda85da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab60f9fac51313d5822274a20bb059307"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gab60f9fac51313d5822274a20bb059307">ENET_GetRxFrameSize</a> (<a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, uint32_t *length, uint8_t ringId)</td></tr>
<tr class="memdesc:gab60f9fac51313d5822274a20bb059307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the size of the read frame for specified ring. <a href="#gab60f9fac51313d5822274a20bb059307">More...</a><br/></td></tr>
<tr class="separator:gab60f9fac51313d5822274a20bb059307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcf878c71dccf0e4307abeb05c60067f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f">ENET_ReadFrame</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, uint8_t *data, uint32_t length, uint8_t ringId, uint32_t *ts)</td></tr>
<tr class="memdesc:gabcf878c71dccf0e4307abeb05c60067f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a frame from the ENET device. <a href="#gabcf878c71dccf0e4307abeb05c60067f">More...</a><br/></td></tr>
<tr class="separator:gabcf878c71dccf0e4307abeb05c60067f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga420eb9f89621426669164f9ff3ded4b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga420eb9f89621426669164f9ff3ded4b7">ENET_SendFrame</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, const uint8_t *data, uint32_t length, uint8_t ringId, bool tsFlag, void *context)</td></tr>
<tr class="memdesc:ga420eb9f89621426669164f9ff3ded4b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmits an ENET frame for specified ring. <a href="#ga420eb9f89621426669164f9ff3ded4b7">More...</a><br/></td></tr>
<tr class="separator:ga420eb9f89621426669164f9ff3ded4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa63f1bef0380a6ee9370e9ed90020173"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaa63f1bef0380a6ee9370e9ed90020173">ENET_SetTxReclaim</a> (<a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, bool isEnable, uint8_t ringId)</td></tr>
<tr class="memdesc:gaa63f1bef0380a6ee9370e9ed90020173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable tx descriptors reclaim mechanism. <a href="#gaa63f1bef0380a6ee9370e9ed90020173">More...</a><br/></td></tr>
<tr class="separator:gaa63f1bef0380a6ee9370e9ed90020173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf0fc8b978c83218ed677336e96b996b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gacf0fc8b978c83218ed677336e96b996b">ENET_ReclaimTxDescriptor</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, uint8_t ringId)</td></tr>
<tr class="memdesc:gacf0fc8b978c83218ed677336e96b996b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reclaim tx descriptors. <a href="#gacf0fc8b978c83218ed677336e96b996b">More...</a><br/></td></tr>
<tr class="separator:gacf0fc8b978c83218ed677336e96b996b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa91ebe63c861f928510c45cfce40f5a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaa91ebe63c861f928510c45cfce40f5a7">ENET_GetRxFrame</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, enet_rx_frame_struct_t *rxFrame, uint8_t ringId)</td></tr>
<tr class="memdesc:gaa91ebe63c861f928510c45cfce40f5a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives one frame in specified BD ring with zero copy. <a href="#gaa91ebe63c861f928510c45cfce40f5a7">More...</a><br/></td></tr>
<tr class="separator:gaa91ebe63c861f928510c45cfce40f5a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1dfd6bda61a3f763940cc7c5fa8b144"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#gaf1dfd6bda61a3f763940cc7c5fa8b144">ENET_StartTxFrame</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle, enet_tx_frame_struct_t *txFrame, uint8_t ringId)</td></tr>
<tr class="memdesc:gaf1dfd6bda61a3f763940cc7c5fa8b144"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends one frame in specified BD ring with zero copy. <a href="#gaf1dfd6bda61a3f763940cc7c5fa8b144">More...</a><br/></td></tr>
<tr class="separator:gaf1dfd6bda61a3f763940cc7c5fa8b144"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14ebe20169a322ceb9dcafef235b0afd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga14ebe20169a322ceb9dcafef235b0afd">ENET_TransmitIRQHandler</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga14ebe20169a322ceb9dcafef235b0afd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The transmit IRQ handler. <a href="#ga14ebe20169a322ceb9dcafef235b0afd">More...</a><br/></td></tr>
<tr class="separator:ga14ebe20169a322ceb9dcafef235b0afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a29168893ca340db8d452edac20040b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9a29168893ca340db8d452edac20040b">ENET_ReceiveIRQHandler</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga9a29168893ca340db8d452edac20040b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The receive IRQ handler. <a href="#ga9a29168893ca340db8d452edac20040b">More...</a><br/></td></tr>
<tr class="separator:ga9a29168893ca340db8d452edac20040b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga684127bd7163faf3458f07a021ceb448"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga684127bd7163faf3458f07a021ceb448">ENET_ErrorIRQHandler</a> (ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga684127bd7163faf3458f07a021ceb448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some special IRQ handler including the error, mii, wakeup irq handler. <a href="#ga684127bd7163faf3458f07a021ceb448">More...</a><br/></td></tr>
<tr class="separator:ga684127bd7163faf3458f07a021ceb448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41a060875b45dc4d9fed244371aab0d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga41a060875b45dc4d9fed244371aab0d0">ENET_Ptp1588IRQHandler</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga41a060875b45dc4d9fed244371aab0d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">the common IRQ handler for the 1588 irq handler. <a href="#ga41a060875b45dc4d9fed244371aab0d0">More...</a><br/></td></tr>
<tr class="separator:ga41a060875b45dc4d9fed244371aab0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ec95f044ec27e9e0c5f060b856744d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ga9ec95f044ec27e9e0c5f060b856744d3">ENET_CommonFrame0IRQHandler</a> (ENET_Type *base)</td></tr>
<tr class="memdesc:ga9ec95f044ec27e9e0c5f060b856744d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">the common IRQ handler for the tx/rx/error etc irq handler. <a href="#ga9ec95f044ec27e9e0c5f060b856744d3">More...</a><br/></td></tr>
<tr class="separator:ga9ec95f044ec27e9e0c5f060b856744d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00368" id="a00368"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_rx_bd_struct</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a1bdeb9d446a703945b0164475d8ded39"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a1bdeb9d446a703945b0164475d8ded39">length</a></td></tr>
<tr class="memdesc:a1bdeb9d446a703945b0164475d8ded39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor data length. <a href="#a1bdeb9d446a703945b0164475d8ded39">More...</a><br/></td></tr>
<tr class="separator:a1bdeb9d446a703945b0164475d8ded39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40dfa3e5f33cee586e5cfebcc5ad9675"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a40dfa3e5f33cee586e5cfebcc5ad9675">control</a></td></tr>
<tr class="memdesc:a40dfa3e5f33cee586e5cfebcc5ad9675"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor control and status. <a href="#a40dfa3e5f33cee586e5cfebcc5ad9675">More...</a><br/></td></tr>
<tr class="separator:a40dfa3e5f33cee586e5cfebcc5ad9675"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae11868d83472780b5c4d424c8801a961"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ae11868d83472780b5c4d424c8801a961">buffer</a></td></tr>
<tr class="memdesc:ae11868d83472780b5c4d424c8801a961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data buffer pointer. <a href="#ae11868d83472780b5c4d424c8801a961">More...</a><br/></td></tr>
<tr class="separator:ae11868d83472780b5c4d424c8801a961"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a1bdeb9d446a703945b0164475d8ded39"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_rx_bd_struct::length</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a40dfa3e5f33cee586e5cfebcc5ad9675"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_rx_bd_struct::control</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae11868d83472780b5c4d424c8801a961"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_rx_bd_struct::buffer</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00372" id="a00372"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_tx_bd_struct</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a95c960e64d90855184b328030e00201e"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a95c960e64d90855184b328030e00201e">length</a></td></tr>
<tr class="memdesc:a95c960e64d90855184b328030e00201e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor data length. <a href="#a95c960e64d90855184b328030e00201e">More...</a><br/></td></tr>
<tr class="separator:a95c960e64d90855184b328030e00201e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a32d79ee067b83157ff956a1771988d"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a7a32d79ee067b83157ff956a1771988d">control</a></td></tr>
<tr class="memdesc:a7a32d79ee067b83157ff956a1771988d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor control and status. <a href="#a7a32d79ee067b83157ff956a1771988d">More...</a><br/></td></tr>
<tr class="separator:a7a32d79ee067b83157ff956a1771988d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a508280f9341d179ac17b9a7fb1c4b537"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a508280f9341d179ac17b9a7fb1c4b537">buffer</a></td></tr>
<tr class="memdesc:a508280f9341d179ac17b9a7fb1c4b537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data buffer pointer. <a href="#a508280f9341d179ac17b9a7fb1c4b537">More...</a><br/></td></tr>
<tr class="separator:a508280f9341d179ac17b9a7fb1c4b537"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a95c960e64d90855184b328030e00201e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_bd_struct::length</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7a32d79ee067b83157ff956a1771988d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_bd_struct::control</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a508280f9341d179ac17b9a7fb1c4b537"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_tx_bd_struct::buffer</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00364" id="a00364"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_data_error_stats</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a2462d53f0755f85c5946de77e7916309"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a2462d53f0755f85c5946de77e7916309">statsRxLenGreaterErr</a></td></tr>
<tr class="memdesc:a2462d53f0755f85c5946de77e7916309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive length greater than RCR[MAX_FL]. <a href="#a2462d53f0755f85c5946de77e7916309">More...</a><br/></td></tr>
<tr class="separator:a2462d53f0755f85c5946de77e7916309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f8448c2c83c314a59f6ea6bd0e7c93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56f8448c2c83c314a59f6ea6bd0e7c93"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a56f8448c2c83c314a59f6ea6bd0e7c93">statsRxAlignErr</a></td></tr>
<tr class="memdesc:a56f8448c2c83c314a59f6ea6bd0e7c93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive non-octet alignment/. <br/></td></tr>
<tr class="separator:a56f8448c2c83c314a59f6ea6bd0e7c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66e65ddd70fe284a17769366b9dd25b9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a66e65ddd70fe284a17769366b9dd25b9">statsRxFcsErr</a></td></tr>
<tr class="memdesc:a66e65ddd70fe284a17769366b9dd25b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive CRC error. <a href="#a66e65ddd70fe284a17769366b9dd25b9">More...</a><br/></td></tr>
<tr class="separator:a66e65ddd70fe284a17769366b9dd25b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8513afbfb4065cb50bfd80a5b9d149b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ab8513afbfb4065cb50bfd80a5b9d149b">statsRxOverRunErr</a></td></tr>
<tr class="memdesc:ab8513afbfb4065cb50bfd80a5b9d149b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive over run. <a href="#ab8513afbfb4065cb50bfd80a5b9d149b">More...</a><br/></td></tr>
<tr class="separator:ab8513afbfb4065cb50bfd80a5b9d149b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc5421f1a18b141cf84be8a42feaacd"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#afbc5421f1a18b141cf84be8a42feaacd">statsRxTruncateErr</a></td></tr>
<tr class="memdesc:afbc5421f1a18b141cf84be8a42feaacd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive truncate. <a href="#afbc5421f1a18b141cf84be8a42feaacd">More...</a><br/></td></tr>
<tr class="separator:afbc5421f1a18b141cf84be8a42feaacd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a2462d53f0755f85c5946de77e7916309"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_data_error_stats::statsRxLenGreaterErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a66e65ddd70fe284a17769366b9dd25b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_data_error_stats::statsRxFcsErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab8513afbfb4065cb50bfd80a5b9d149b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_data_error_stats::statsRxOverRunErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afbc5421f1a18b141cf84be8a42feaacd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_data_error_stats::statsRxTruncateErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00369" id="a00369"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_rx_frame_error</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a86ecd91f97954e91201a549ae8ece2fb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a86ecd91f97954e91201a549ae8ece2fb">statsRxTruncateErr</a>: 1</td></tr>
<tr class="memdesc:a86ecd91f97954e91201a549ae8ece2fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive truncate. <a href="#a86ecd91f97954e91201a549ae8ece2fb">More...</a><br/></td></tr>
<tr class="separator:a86ecd91f97954e91201a549ae8ece2fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a992cd58cc7a67d2705605337cad7229c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a992cd58cc7a67d2705605337cad7229c">statsRxOverRunErr</a>: 1</td></tr>
<tr class="memdesc:a992cd58cc7a67d2705605337cad7229c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive over run. <a href="#a992cd58cc7a67d2705605337cad7229c">More...</a><br/></td></tr>
<tr class="separator:a992cd58cc7a67d2705605337cad7229c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af757ae8fce2b365407990711683f5330"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af757ae8fce2b365407990711683f5330">statsRxFcsErr</a>: 1</td></tr>
<tr class="memdesc:af757ae8fce2b365407990711683f5330"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive CRC error. <a href="#af757ae8fce2b365407990711683f5330">More...</a><br/></td></tr>
<tr class="separator:af757ae8fce2b365407990711683f5330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2e225ef4f880027105c37ac89be6563"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af2e225ef4f880027105c37ac89be6563">statsRxAlignErr</a>: 1</td></tr>
<tr class="memdesc:af2e225ef4f880027105c37ac89be6563"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive non-octet alignment. <a href="#af2e225ef4f880027105c37ac89be6563">More...</a><br/></td></tr>
<tr class="separator:af2e225ef4f880027105c37ac89be6563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab52789f1247cad233d2bfc18437d835c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ab52789f1247cad233d2bfc18437d835c">statsRxLenGreaterErr</a>: 1</td></tr>
<tr class="memdesc:ab52789f1247cad233d2bfc18437d835c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive length greater than RCR[MAX_FL]. <a href="#ab52789f1247cad233d2bfc18437d835c">More...</a><br/></td></tr>
<tr class="separator:ab52789f1247cad233d2bfc18437d835c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a86ecd91f97954e91201a549ae8ece2fb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_rx_frame_error::statsRxTruncateErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a992cd58cc7a67d2705605337cad7229c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_rx_frame_error::statsRxOverRunErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af757ae8fce2b365407990711683f5330"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_rx_frame_error::statsRxFcsErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af2e225ef4f880027105c37ac89be6563"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_rx_frame_error::statsRxAlignErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab52789f1247cad233d2bfc18437d835c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_rx_frame_error::statsRxLenGreaterErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00370" id="a00370"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_transfer_stats</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a4a6e137376c96a9cc041eecbd0d82a61"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a4a6e137376c96a9cc041eecbd0d82a61">statsRxFrameCount</a></td></tr>
<tr class="memdesc:a4a6e137376c96a9cc041eecbd0d82a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx frame number. <a href="#a4a6e137376c96a9cc041eecbd0d82a61">More...</a><br/></td></tr>
<tr class="separator:a4a6e137376c96a9cc041eecbd0d82a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea9ca7e1a4957162dc8d26cf3cf7473b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aea9ca7e1a4957162dc8d26cf3cf7473b">statsRxFrameOk</a></td></tr>
<tr class="memdesc:aea9ca7e1a4957162dc8d26cf3cf7473b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Good Rx frame number. <a href="#aea9ca7e1a4957162dc8d26cf3cf7473b">More...</a><br/></td></tr>
<tr class="separator:aea9ca7e1a4957162dc8d26cf3cf7473b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b6b5a7ab0626617ca4c77f999f06f97"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5b6b5a7ab0626617ca4c77f999f06f97">statsRxCrcErr</a></td></tr>
<tr class="memdesc:a5b6b5a7ab0626617ca4c77f999f06f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx frame number with CRC error. <a href="#a5b6b5a7ab0626617ca4c77f999f06f97">More...</a><br/></td></tr>
<tr class="separator:a5b6b5a7ab0626617ca4c77f999f06f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d3110b9982871a13c66938ebf5bd357"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a2d3110b9982871a13c66938ebf5bd357">statsRxAlignErr</a></td></tr>
<tr class="memdesc:a2d3110b9982871a13c66938ebf5bd357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx frame number with alignment error. <a href="#a2d3110b9982871a13c66938ebf5bd357">More...</a><br/></td></tr>
<tr class="separator:a2d3110b9982871a13c66938ebf5bd357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba9abc58bd10888f0df747295cc25818"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aba9abc58bd10888f0df747295cc25818">statsRxDropInvalidSFD</a></td></tr>
<tr class="memdesc:aba9abc58bd10888f0df747295cc25818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dropped frame number due to invalid SFD. <a href="#aba9abc58bd10888f0df747295cc25818">More...</a><br/></td></tr>
<tr class="separator:aba9abc58bd10888f0df747295cc25818"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a67391de996fb08cf266d2e1fae8a05"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a7a67391de996fb08cf266d2e1fae8a05">statsRxFifoOverflowErr</a></td></tr>
<tr class="memdesc:a7a67391de996fb08cf266d2e1fae8a05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx FIFO overflow count. <a href="#a7a67391de996fb08cf266d2e1fae8a05">More...</a><br/></td></tr>
<tr class="separator:a7a67391de996fb08cf266d2e1fae8a05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc508f7877788009c0761c007588889"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5dc508f7877788009c0761c007588889">statsTxFrameCount</a></td></tr>
<tr class="memdesc:a5dc508f7877788009c0761c007588889"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx frame number. <a href="#a5dc508f7877788009c0761c007588889">More...</a><br/></td></tr>
<tr class="separator:a5dc508f7877788009c0761c007588889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ac0b2a2f0d6b83750ce089288920f2c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a2ac0b2a2f0d6b83750ce089288920f2c">statsTxFrameOk</a></td></tr>
<tr class="memdesc:a2ac0b2a2f0d6b83750ce089288920f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Good Tx frame number. <a href="#a2ac0b2a2f0d6b83750ce089288920f2c">More...</a><br/></td></tr>
<tr class="separator:a2ac0b2a2f0d6b83750ce089288920f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214b5238649f7bcf16abef40451cba95"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a214b5238649f7bcf16abef40451cba95">statsTxCrcAlignErr</a></td></tr>
<tr class="memdesc:a214b5238649f7bcf16abef40451cba95"><td class="mdescLeft">&#160;</td><td class="mdescRight">The transmit frame is error. <a href="#a214b5238649f7bcf16abef40451cba95">More...</a><br/></td></tr>
<tr class="separator:a214b5238649f7bcf16abef40451cba95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08fe42e3aa2a059b3fa1e9d1ddf39f85"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a08fe42e3aa2a059b3fa1e9d1ddf39f85">statsTxFifoUnderRunErr</a></td></tr>
<tr class="memdesc:a08fe42e3aa2a059b3fa1e9d1ddf39f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx FIFO underrun count. <a href="#a08fe42e3aa2a059b3fa1e9d1ddf39f85">More...</a><br/></td></tr>
<tr class="separator:a08fe42e3aa2a059b3fa1e9d1ddf39f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a4a6e137376c96a9cc041eecbd0d82a61"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsRxFrameCount</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aea9ca7e1a4957162dc8d26cf3cf7473b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsRxFrameOk</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5b6b5a7ab0626617ca4c77f999f06f97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsRxCrcErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2d3110b9982871a13c66938ebf5bd357"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsRxAlignErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aba9abc58bd10888f0df747295cc25818"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsRxDropInvalidSFD</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7a67391de996fb08cf266d2e1fae8a05"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsRxFifoOverflowErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5dc508f7877788009c0761c007588889"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsTxFrameCount</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2ac0b2a2f0d6b83750ce089288920f2c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsTxFrameOk</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a214b5238649f7bcf16abef40451cba95"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsTxCrcAlignErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a08fe42e3aa2a059b3fa1e9d1ddf39f85"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_transfer_stats::statsTxFifoUnderRunErr</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00561" id="a00561"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct enet_frame_info</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a73696aea43786959d68fb77c2098756b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73696aea43786959d68fb77c2098756b"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a73696aea43786959d68fb77c2098756b">context</a></td></tr>
<tr class="memdesc:a73696aea43786959d68fb77c2098756b"><td class="mdescLeft">&#160;</td><td class="mdescRight">User specified data. <br/></td></tr>
<tr class="separator:a73696aea43786959d68fb77c2098756b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="a00373" id="a00373"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_tx_dirty_ring</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a63ca317e4deb712b951af002fcdcf8bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a63ca317e4deb712b951af002fcdcf8bb">txDirtyBase</a></td></tr>
<tr class="memdesc:a63ca317e4deb712b951af002fcdcf8bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dirty buffer descriptor base address pointer. <a href="#a63ca317e4deb712b951af002fcdcf8bb">More...</a><br/></td></tr>
<tr class="separator:a63ca317e4deb712b951af002fcdcf8bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b1b6921b65932db53996322d45d8856"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a2b1b6921b65932db53996322d45d8856">txGenIdx</a></td></tr>
<tr class="memdesc:a2b1b6921b65932db53996322d45d8856"><td class="mdescLeft">&#160;</td><td class="mdescRight">tx generate index. <a href="#a2b1b6921b65932db53996322d45d8856">More...</a><br/></td></tr>
<tr class="separator:a2b1b6921b65932db53996322d45d8856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2742d7e74518af600c03130e00198985"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a2742d7e74518af600c03130e00198985">txConsumIdx</a></td></tr>
<tr class="memdesc:a2742d7e74518af600c03130e00198985"><td class="mdescLeft">&#160;</td><td class="mdescRight">tx consume index. <a href="#a2742d7e74518af600c03130e00198985">More...</a><br/></td></tr>
<tr class="separator:a2742d7e74518af600c03130e00198985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d4510b8fd83ba4a9133c11597bfd5a7"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a0d4510b8fd83ba4a9133c11597bfd5a7">txRingLen</a></td></tr>
<tr class="memdesc:a0d4510b8fd83ba4a9133c11597bfd5a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">tx ring length. <a href="#a0d4510b8fd83ba4a9133c11597bfd5a7">More...</a><br/></td></tr>
<tr class="separator:a0d4510b8fd83ba4a9133c11597bfd5a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3404f120a333ae089dded6887fec4a6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a3404f120a333ae089dded6887fec4a6f">isFull</a></td></tr>
<tr class="memdesc:a3404f120a333ae089dded6887fec4a6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">tx ring is full flag. <a href="#a3404f120a333ae089dded6887fec4a6f">More...</a><br/></td></tr>
<tr class="separator:a3404f120a333ae089dded6887fec4a6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a63ca317e4deb712b951af002fcdcf8bb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a>* _enet_tx_dirty_ring::txDirtyBase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2b1b6921b65932db53996322d45d8856"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_dirty_ring::txGenIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2742d7e74518af600c03130e00198985"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_dirty_ring::txConsumIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0d4510b8fd83ba4a9133c11597bfd5a7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_dirty_ring::txRingLen</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3404f120a333ae089dded6887fec4a6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_tx_dirty_ring::isFull</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00362" id="a00362"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_buffer_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>Note that for the internal DMA requirements, the buffers have a corresponding alignment requirements.</p>
<ol type="1">
<li>The aligned receive and transmit buffer size must be evenly divisible by ENET_BUFF_ALIGNMENT. when the data buffers are in cacheable region when cache is enabled, all those size should be aligned to the maximum value of "ENET_BUFF_ALIGNMENT" and the cache line size.</li>
<li>The aligned transmit and receive buffer descriptor start address must be at least 64 bit aligned. However, it's recommended to be evenly divisible by ENET_BUFF_ALIGNMENT. buffer descriptors should be put in non-cacheable region when cache is enabled.</li>
<li>The aligned transmit and receive data buffer start address must be evenly divisible by ENET_BUFF_ALIGNMENT. Receive buffers should be continuous with the total size equal to "rxBdNumber * rxBuffSizeAlign". Transmit buffers should be continuous with the total size equal to "txBdNumber * txBuffSizeAlign". when the data buffers are in cacheable region when cache is enabled, all those size should be aligned to the maximum value of "ENET_BUFF_ALIGNMENT" and the cache line size. </li>
</ol>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:afd4ec78b752451f858d0d1f8d76d0cb0"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#afd4ec78b752451f858d0d1f8d76d0cb0">rxBdNumber</a></td></tr>
<tr class="memdesc:afd4ec78b752451f858d0d1f8d76d0cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer descriptor number. <a href="#afd4ec78b752451f858d0d1f8d76d0cb0">More...</a><br/></td></tr>
<tr class="separator:afd4ec78b752451f858d0d1f8d76d0cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9507bcbf2be2c3add3b5934c7366b1af"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a9507bcbf2be2c3add3b5934c7366b1af">txBdNumber</a></td></tr>
<tr class="memdesc:a9507bcbf2be2c3add3b5934c7366b1af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit buffer descriptor number. <a href="#a9507bcbf2be2c3add3b5934c7366b1af">More...</a><br/></td></tr>
<tr class="separator:a9507bcbf2be2c3add3b5934c7366b1af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92bb34ec07f23c220a8a0596f1580f89"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a92bb34ec07f23c220a8a0596f1580f89">rxBuffSizeAlign</a></td></tr>
<tr class="memdesc:a92bb34ec07f23c220a8a0596f1580f89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aligned receive data buffer size. <a href="#a92bb34ec07f23c220a8a0596f1580f89">More...</a><br/></td></tr>
<tr class="separator:a92bb34ec07f23c220a8a0596f1580f89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f75ae43b12a750e86e1b684c112aee"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a83f75ae43b12a750e86e1b684c112aee">txBuffSizeAlign</a></td></tr>
<tr class="memdesc:a83f75ae43b12a750e86e1b684c112aee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aligned transmit data buffer size. <a href="#a83f75ae43b12a750e86e1b684c112aee">More...</a><br/></td></tr>
<tr class="separator:a83f75ae43b12a750e86e1b684c112aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4c6e09e2d0eb3f33f56066d825436e2"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="a00025.html#ga9258599b7afe3c54351a7f090ecbefcc">enet_rx_bd_struct_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ab4c6e09e2d0eb3f33f56066d825436e2">rxBdStartAddrAlign</a></td></tr>
<tr class="memdesc:ab4c6e09e2d0eb3f33f56066d825436e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aligned receive buffer descriptor start address: should be non-cacheable. <a href="#ab4c6e09e2d0eb3f33f56066d825436e2">More...</a><br/></td></tr>
<tr class="separator:ab4c6e09e2d0eb3f33f56066d825436e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c55f00cf53d22b04fb9935593f14bb"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="a00025.html#ga293febf3ea614a2ec94be3e658ce3779">enet_tx_bd_struct_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a39c55f00cf53d22b04fb9935593f14bb">txBdStartAddrAlign</a></td></tr>
<tr class="memdesc:a39c55f00cf53d22b04fb9935593f14bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aligned transmit buffer descriptor start address: should be non-cacheable. <a href="#a39c55f00cf53d22b04fb9935593f14bb">More...</a><br/></td></tr>
<tr class="separator:a39c55f00cf53d22b04fb9935593f14bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d0c0f35c7d328118b5bcd2b33217ff7"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a6d0c0f35c7d328118b5bcd2b33217ff7">rxBufferAlign</a></td></tr>
<tr class="memdesc:a6d0c0f35c7d328118b5bcd2b33217ff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive data buffer start address. <a href="#a6d0c0f35c7d328118b5bcd2b33217ff7">More...</a><br/></td></tr>
<tr class="separator:a6d0c0f35c7d328118b5bcd2b33217ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a446f3dea2e8f25db821b083b1367c128"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a446f3dea2e8f25db821b083b1367c128">txBufferAlign</a></td></tr>
<tr class="memdesc:a446f3dea2e8f25db821b083b1367c128"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit data buffer start address. <a href="#a446f3dea2e8f25db821b083b1367c128">More...</a><br/></td></tr>
<tr class="separator:a446f3dea2e8f25db821b083b1367c128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27e8664935ba8aed5d7d8f0cfc6f1510"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a27e8664935ba8aed5d7d8f0cfc6f1510">rxMaintainEnable</a></td></tr>
<tr class="memdesc:a27e8664935ba8aed5d7d8f0cfc6f1510"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer cache maintain. <a href="#a27e8664935ba8aed5d7d8f0cfc6f1510">More...</a><br/></td></tr>
<tr class="separator:a27e8664935ba8aed5d7d8f0cfc6f1510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5465d7745f551c0983fa5d900cf3f32"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aa5465d7745f551c0983fa5d900cf3f32">txMaintainEnable</a></td></tr>
<tr class="memdesc:aa5465d7745f551c0983fa5d900cf3f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit buffer cache maintain. <a href="#aa5465d7745f551c0983fa5d900cf3f32">More...</a><br/></td></tr>
<tr class="separator:aa5465d7745f551c0983fa5d900cf3f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a753750b5184e6c8bc33c6bdfe85e7e95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a753750b5184e6c8bc33c6bdfe85e7e95">txFrameInfo</a></td></tr>
<tr class="memdesc:a753750b5184e6c8bc33c6bdfe85e7e95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit frame information start address. <a href="#a753750b5184e6c8bc33c6bdfe85e7e95">More...</a><br/></td></tr>
<tr class="separator:a753750b5184e6c8bc33c6bdfe85e7e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="afd4ec78b752451f858d0d1f8d76d0cb0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_buffer_config::rxBdNumber</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9507bcbf2be2c3add3b5934c7366b1af"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_buffer_config::txBdNumber</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a92bb34ec07f23c220a8a0596f1580f89"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_buffer_config::rxBuffSizeAlign</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a83f75ae43b12a750e86e1b684c112aee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_buffer_config::txBuffSizeAlign</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab4c6e09e2d0eb3f33f56066d825436e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="a00025.html#ga9258599b7afe3c54351a7f090ecbefcc">enet_rx_bd_struct_t</a>* _enet_buffer_config::rxBdStartAddrAlign</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a39c55f00cf53d22b04fb9935593f14bb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="a00025.html#ga293febf3ea614a2ec94be3e658ce3779">enet_tx_bd_struct_t</a>* _enet_buffer_config::txBdStartAddrAlign</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6d0c0f35c7d328118b5bcd2b33217ff7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _enet_buffer_config::rxBufferAlign</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a446f3dea2e8f25db821b083b1367c128"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _enet_buffer_config::txBufferAlign</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a27e8664935ba8aed5d7d8f0cfc6f1510"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_buffer_config::rxMaintainEnable</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa5465d7745f551c0983fa5d900cf3f32"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_buffer_config::txMaintainEnable</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a753750b5184e6c8bc33c6bdfe85e7e95"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a>* _enet_buffer_config::txFrameInfo</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00366" id="a00366"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_intcoalesce_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a53d97f78a7f4da383b75d81a19b06acb"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a53d97f78a7f4da383b75d81a19b06acb">txCoalesceFrameCount</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a53d97f78a7f4da383b75d81a19b06acb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit interrupt coalescing frame count threshold. <a href="#a53d97f78a7f4da383b75d81a19b06acb">More...</a><br/></td></tr>
<tr class="separator:a53d97f78a7f4da383b75d81a19b06acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d1e35c783ac3cb3a39b621fbc1bdbeb"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5d1e35c783ac3cb3a39b621fbc1bdbeb">txCoalesceTimeCount</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a5d1e35c783ac3cb3a39b621fbc1bdbeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit interrupt coalescing timer count threshold. <a href="#a5d1e35c783ac3cb3a39b621fbc1bdbeb">More...</a><br/></td></tr>
<tr class="separator:a5d1e35c783ac3cb3a39b621fbc1bdbeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9733e4372175f0fa431d1ce44a679837"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a9733e4372175f0fa431d1ce44a679837">rxCoalesceFrameCount</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a9733e4372175f0fa431d1ce44a679837"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive interrupt coalescing frame count threshold. <a href="#a9733e4372175f0fa431d1ce44a679837">More...</a><br/></td></tr>
<tr class="separator:a9733e4372175f0fa431d1ce44a679837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71e02cec8122194de5608950576417af"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a71e02cec8122194de5608950576417af">rxCoalesceTimeCount</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a71e02cec8122194de5608950576417af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive interrupt coalescing timer count threshold. <a href="#a71e02cec8122194de5608950576417af">More...</a><br/></td></tr>
<tr class="separator:a71e02cec8122194de5608950576417af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a53d97f78a7f4da383b75d81a19b06acb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_intcoalesce_config::txCoalesceFrameCount[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5d1e35c783ac3cb3a39b621fbc1bdbeb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_intcoalesce_config::txCoalesceTimeCount[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9733e4372175f0fa431d1ce44a679837"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_intcoalesce_config::rxCoalesceFrameCount[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a71e02cec8122194de5608950576417af"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_intcoalesce_config::rxCoalesceTimeCount[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00363" id="a00363"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>Note:</p>
<ol type="1">
<li>macSpecialConfig is used for a special control configuration, A logical OR of "enet_special_control_flag_t". For a special configuration for MAC, set this parameter to 0.</li>
<li>txWatermark is used for a cut-through operation. It is in steps of 64 bytes: 0/1 - 64 bytes written to TX FIFO before transmission of a frame begins. 2 - 128 bytes written to TX FIFO .... 3 - 192 bytes written to TX FIFO .... The maximum of txWatermark is 0x2F - 4032 bytes written to TX FIFO .... txWatermark allows minimizing the transmit latency to set the txWatermark to 0 or 1 or for larger bus access latency 3 or larger due to contention for the system bus.</li>
<li>rxFifoFullThreshold is similar to the txWatermark for cut-through operation in RX. It is in 64-bit words. The minimum is ENET_FIFO_MIN_RX_FULL and the maximum is 0xFF. If the end of the frame is stored in FIFO and the frame size if smaller than the txWatermark, the frame is still transmitted. The rule is the same for rxFifoFullThreshold in the receive direction.</li>
<li>When "kENET_ControlFlowControlEnable" is set in the macSpecialConfig, ensure that the pauseDuration, rxFifoEmptyThreshold, and rxFifoStatEmptyThreshold are set for flow control enabled case.</li>
<li>When "kENET_ControlStoreAndFwdDisabled" is set in the macSpecialConfig, ensure that the rxFifoFullThreshold and txFifoWatermark are set for store and forward disable.</li>
<li>The rxAccelerConfig and txAccelerConfig default setting with 0 - accelerator are disabled. The "enet_tx_accelerator_t" and "enet_rx_accelerator_t" are recommended to be used to enable the transmit and receive accelerator. After the accelerators are enabled, the store and forward feature should be enabled. As a result, kENET_ControlStoreAndFwdDisabled should not be set.</li>
<li>The intCoalesceCfg can be used in the rx or tx enabled cases to decrese the CPU loading. </li>
</ol>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ae906d4d3725b8d2610e9d2733c2b628a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ae906d4d3725b8d2610e9d2733c2b628a">macSpecialConfig</a></td></tr>
<tr class="memdesc:ae906d4d3725b8d2610e9d2733c2b628a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mac special configuration. <a href="#ae906d4d3725b8d2610e9d2733c2b628a">More...</a><br/></td></tr>
<tr class="separator:ae906d4d3725b8d2610e9d2733c2b628a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47e4c11f65d86d2cf1fa2bc185368fd6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a47e4c11f65d86d2cf1fa2bc185368fd6">interrupt</a></td></tr>
<tr class="memdesc:a47e4c11f65d86d2cf1fa2bc185368fd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mac interrupt source. <a href="#a47e4c11f65d86d2cf1fa2bc185368fd6">More...</a><br/></td></tr>
<tr class="separator:a47e4c11f65d86d2cf1fa2bc185368fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b03d4b49039e870e53cedc718e7db6"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a93b03d4b49039e870e53cedc718e7db6">rxMaxFrameLen</a></td></tr>
<tr class="memdesc:a93b03d4b49039e870e53cedc718e7db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive maximum frame length. <a href="#a93b03d4b49039e870e53cedc718e7db6">More...</a><br/></td></tr>
<tr class="separator:a93b03d4b49039e870e53cedc718e7db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a7a5ea59974179db9926aa6d87c7553"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga285ce45cec89dda602433db19dc66e8f">enet_mii_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a7a7a5ea59974179db9926aa6d87c7553">miiMode</a></td></tr>
<tr class="memdesc:a7a7a5ea59974179db9926aa6d87c7553"><td class="mdescLeft">&#160;</td><td class="mdescRight">MII mode. <a href="#a7a7a5ea59974179db9926aa6d87c7553">More...</a><br/></td></tr>
<tr class="separator:a7a7a5ea59974179db9926aa6d87c7553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae059a9c8226e55807b537a20a4a645ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#gaba02d036bbe1463f21d421eed4358bb2">enet_mii_speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ae059a9c8226e55807b537a20a4a645ed">miiSpeed</a></td></tr>
<tr class="memdesc:ae059a9c8226e55807b537a20a4a645ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">MII Speed. <a href="#ae059a9c8226e55807b537a20a4a645ed">More...</a><br/></td></tr>
<tr class="separator:ae059a9c8226e55807b537a20a4a645ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34251f2c12d4fe304bfa722601b4bcf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga75c2799d0b0a4d091a6dbc4d67d8b55f">enet_mii_duplex_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a34251f2c12d4fe304bfa722601b4bcf1">miiDuplex</a></td></tr>
<tr class="memdesc:a34251f2c12d4fe304bfa722601b4bcf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">MII duplex. <a href="#a34251f2c12d4fe304bfa722601b4bcf1">More...</a><br/></td></tr>
<tr class="separator:a34251f2c12d4fe304bfa722601b4bcf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7275a2f08dcb4ac864f89e3dd372401c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a7275a2f08dcb4ac864f89e3dd372401c">rxAccelerConfig</a></td></tr>
<tr class="memdesc:a7275a2f08dcb4ac864f89e3dd372401c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive accelerator, A logical OR of "enet_rx_accelerator_t". <a href="#a7275a2f08dcb4ac864f89e3dd372401c">More...</a><br/></td></tr>
<tr class="separator:a7275a2f08dcb4ac864f89e3dd372401c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68f4b8c513b3539b04a684b95bbb26a6"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a68f4b8c513b3539b04a684b95bbb26a6">txAccelerConfig</a></td></tr>
<tr class="memdesc:a68f4b8c513b3539b04a684b95bbb26a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit accelerator, A logical OR of "enet_rx_accelerator_t". <a href="#a68f4b8c513b3539b04a684b95bbb26a6">More...</a><br/></td></tr>
<tr class="separator:a68f4b8c513b3539b04a684b95bbb26a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5938fb459905027856aec807047bfc29"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5938fb459905027856aec807047bfc29">pauseDuration</a></td></tr>
<tr class="memdesc:a5938fb459905027856aec807047bfc29"><td class="mdescLeft">&#160;</td><td class="mdescRight">For flow control enabled case: Pause duration. <a href="#a5938fb459905027856aec807047bfc29">More...</a><br/></td></tr>
<tr class="separator:a5938fb459905027856aec807047bfc29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af353eaee5ef380415109ebc7936cf895"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af353eaee5ef380415109ebc7936cf895">rxFifoEmptyThreshold</a></td></tr>
<tr class="memdesc:af353eaee5ef380415109ebc7936cf895"><td class="mdescLeft">&#160;</td><td class="mdescRight">For flow control enabled case: when RX FIFO level reaches this value, it makes MAC generate XOFF pause frame. <a href="#af353eaee5ef380415109ebc7936cf895">More...</a><br/></td></tr>
<tr class="separator:af353eaee5ef380415109ebc7936cf895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e9c364deb2283e5ec5bcfa93c207ca7"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a1e9c364deb2283e5ec5bcfa93c207ca7">rxFifoStatEmptyThreshold</a></td></tr>
<tr class="memdesc:a1e9c364deb2283e5ec5bcfa93c207ca7"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> For flow control enabled case: number of frames in the receive FIFO,
</pre><p> independent of size, that can be accept. <a href="#a1e9c364deb2283e5ec5bcfa93c207ca7">More...</a><br/></td></tr>
<tr class="separator:a1e9c364deb2283e5ec5bcfa93c207ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7148bb825f865c1330cc0c8e1dbd8291"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a7148bb825f865c1330cc0c8e1dbd8291">rxFifoFullThreshold</a></td></tr>
<tr class="memdesc:a7148bb825f865c1330cc0c8e1dbd8291"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> For store and forward disable case, the data required in RX FIFO to notify
</pre><p> the MAC receive ready status. <a href="#a7148bb825f865c1330cc0c8e1dbd8291">More...</a><br/></td></tr>
<tr class="separator:a7148bb825f865c1330cc0c8e1dbd8291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7731fa816cd93e7a9243d4824333f53e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a7731fa816cd93e7a9243d4824333f53e">txFifoWatermark</a></td></tr>
<tr class="memdesc:a7731fa816cd93e7a9243d4824333f53e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> For store and forward disable case, the data required in TX FIFO
</pre><p> before a frame transmit start. <a href="#a7731fa816cd93e7a9243d4824333f53e">More...</a><br/></td></tr>
<tr class="separator:a7731fa816cd93e7a9243d4824333f53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57e66579cab3a0ecfd8a449a3b8be678"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga4ce13dc17143bfef7ced8b60f8d91a9c">enet_intcoalesce_config_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a57e66579cab3a0ecfd8a449a3b8be678">intCoalesceCfg</a></td></tr>
<tr class="memdesc:a57e66579cab3a0ecfd8a449a3b8be678"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> If the interrupt coalsecence is not required in the ring n(0,1,2),
</pre><p> please set to NULL. <a href="#a57e66579cab3a0ecfd8a449a3b8be678">More...</a><br/></td></tr>
<tr class="separator:a57e66579cab3a0ecfd8a449a3b8be678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24033a0058497a90f61e724eecf32508"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a24033a0058497a90f61e724eecf32508">ringNum</a></td></tr>
<tr class="memdesc:a24033a0058497a90f61e724eecf32508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of used rings. <a href="#a24033a0058497a90f61e724eecf32508">More...</a><br/></td></tr>
<tr class="separator:a24033a0058497a90f61e724eecf32508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad197effcc042ac712f676f13e52b442a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga1bbb35b6284c30aa9e0f8b72e2b99b19">enet_rx_alloc_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad197effcc042ac712f676f13e52b442a">rxBuffAlloc</a></td></tr>
<tr class="memdesc:ad197effcc042ac712f676f13e52b442a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to alloc memory, must be provided for zero-copy Rx. <a href="#ad197effcc042ac712f676f13e52b442a">More...</a><br/></td></tr>
<tr class="separator:ad197effcc042ac712f676f13e52b442a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06dbc00f36e96b3ced6b4161d8cc9be7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#gabc91b20606887f2430289a58f03ca815">enet_rx_free_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a06dbc00f36e96b3ced6b4161d8cc9be7">rxBuffFree</a></td></tr>
<tr class="memdesc:a06dbc00f36e96b3ced6b4161d8cc9be7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to free memory, must be provided for zero-copy Rx. <a href="#a06dbc00f36e96b3ced6b4161d8cc9be7">More...</a><br/></td></tr>
<tr class="separator:a06dbc00f36e96b3ced6b4161d8cc9be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74964d8d0d4b669111a933b38053aca8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#gaae4a0ac6b9fefb310037eb1d21cfae3a">enet_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a74964d8d0d4b669111a933b38053aca8">callback</a></td></tr>
<tr class="memdesc:a74964d8d0d4b669111a933b38053aca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">General callback function. <a href="#a74964d8d0d4b669111a933b38053aca8">More...</a><br/></td></tr>
<tr class="separator:a74964d8d0d4b669111a933b38053aca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b07acb93d7e935a1ff8bf48ddb31274"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5b07acb93d7e935a1ff8bf48ddb31274">userData</a></td></tr>
<tr class="memdesc:a5b07acb93d7e935a1ff8bf48ddb31274"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function parameter. <a href="#a5b07acb93d7e935a1ff8bf48ddb31274">More...</a><br/></td></tr>
<tr class="separator:a5b07acb93d7e935a1ff8bf48ddb31274"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="ae906d4d3725b8d2610e9d2733c2b628a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_config::macSpecialConfig</td>
</tr>
</table>
</div><div class="memdoc">
<p>A logical OR of "enet_special_control_flag_t". </p>
</div>
</div>
<a class="anchor" id="a47e4c11f65d86d2cf1fa2bc185368fd6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enet_config::interrupt</td>
</tr>
</table>
</div><div class="memdoc">
<p>A logical OR of "enet_interrupt_enable_t". </p>
</div>
</div>
<a class="anchor" id="a93b03d4b49039e870e53cedc718e7db6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_config::rxMaxFrameLen</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7a7a5ea59974179db9926aa6d87c7553"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga285ce45cec89dda602433db19dc66e8f">enet_mii_mode_t</a> _enet_config::miiMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae059a9c8226e55807b537a20a4a645ed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#gaba02d036bbe1463f21d421eed4358bb2">enet_mii_speed_t</a> _enet_config::miiSpeed</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a34251f2c12d4fe304bfa722601b4bcf1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga75c2799d0b0a4d091a6dbc4d67d8b55f">enet_mii_duplex_t</a> _enet_config::miiDuplex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7275a2f08dcb4ac864f89e3dd372401c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::rxAccelerConfig</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a68f4b8c513b3539b04a684b95bbb26a6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::txAccelerConfig</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5938fb459905027856aec807047bfc29"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_config::pauseDuration</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af353eaee5ef380415109ebc7936cf895"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::rxFifoEmptyThreshold</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1e9c364deb2283e5ec5bcfa93c207ca7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::rxFifoStatEmptyThreshold</td>
</tr>
</table>
</div><div class="memdoc">
<p>If the limit is reached, reception continues and a pause frame is triggered. </p>
</div>
</div>
<a class="anchor" id="a7148bb825f865c1330cc0c8e1dbd8291"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::rxFifoFullThreshold</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7731fa816cd93e7a9243d4824333f53e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::txFifoWatermark</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a57e66579cab3a0ecfd8a449a3b8be678"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga4ce13dc17143bfef7ced8b60f8d91a9c">enet_intcoalesce_config_t</a>* _enet_config::intCoalesceCfg</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a24033a0058497a90f61e724eecf32508"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_config::ringNum</td>
</tr>
</table>
</div><div class="memdoc">
<p>default with 1 &ndash; single ring. </p>
</div>
</div>
<a class="anchor" id="ad197effcc042ac712f676f13e52b442a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga1bbb35b6284c30aa9e0f8b72e2b99b19">enet_rx_alloc_callback_t</a> _enet_config::rxBuffAlloc</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a06dbc00f36e96b3ced6b4161d8cc9be7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#gabc91b20606887f2430289a58f03ca815">enet_rx_free_callback_t</a> _enet_config::rxBuffFree</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a74964d8d0d4b669111a933b38053aca8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#gaae4a0ac6b9fefb310037eb1d21cfae3a">enet_callback_t</a> _enet_config::callback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5b07acb93d7e935a1ff8bf48ddb31274"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* _enet_config::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00371" id="a00371"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_tx_bd_ring</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:af25391565c31dc97ff33fe12992f593a"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="a00025.html#ga293febf3ea614a2ec94be3e658ce3779">enet_tx_bd_struct_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af25391565c31dc97ff33fe12992f593a">txBdBase</a></td></tr>
<tr class="memdesc:af25391565c31dc97ff33fe12992f593a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor base address pointer. <a href="#af25391565c31dc97ff33fe12992f593a">More...</a><br/></td></tr>
<tr class="separator:af25391565c31dc97ff33fe12992f593a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a1dedf406573ed24aa3a1931692960"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af6a1dedf406573ed24aa3a1931692960">txGenIdx</a></td></tr>
<tr class="memdesc:af6a1dedf406573ed24aa3a1931692960"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current available transmit buffer descriptor pointer. <a href="#af6a1dedf406573ed24aa3a1931692960">More...</a><br/></td></tr>
<tr class="separator:af6a1dedf406573ed24aa3a1931692960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb181b9747e34c3214fc678ac2a64aed"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aeb181b9747e34c3214fc678ac2a64aed">txConsumIdx</a></td></tr>
<tr class="memdesc:aeb181b9747e34c3214fc678ac2a64aed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit consume index. <a href="#aeb181b9747e34c3214fc678ac2a64aed">More...</a><br/></td></tr>
<tr class="separator:aeb181b9747e34c3214fc678ac2a64aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62ddfddb2e3a37e72bcc17e283dda655"><td class="memItemLeft" align="right" valign="top">volatile uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a62ddfddb2e3a37e72bcc17e283dda655">txDescUsed</a></td></tr>
<tr class="memdesc:a62ddfddb2e3a37e72bcc17e283dda655"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit descriptor used number. <a href="#a62ddfddb2e3a37e72bcc17e283dda655">More...</a><br/></td></tr>
<tr class="separator:a62ddfddb2e3a37e72bcc17e283dda655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafbd9907aa2b36d5b70057f646d3a439"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aafbd9907aa2b36d5b70057f646d3a439">txRingLen</a></td></tr>
<tr class="memdesc:aafbd9907aa2b36d5b70057f646d3a439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit ring length. <a href="#aafbd9907aa2b36d5b70057f646d3a439">More...</a><br/></td></tr>
<tr class="separator:aafbd9907aa2b36d5b70057f646d3a439"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="af25391565c31dc97ff33fe12992f593a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="a00025.html#ga293febf3ea614a2ec94be3e658ce3779">enet_tx_bd_struct_t</a>* _enet_tx_bd_ring::txBdBase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af6a1dedf406573ed24aa3a1931692960"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_bd_ring::txGenIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aeb181b9747e34c3214fc678ac2a64aed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_bd_ring::txConsumIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a62ddfddb2e3a37e72bcc17e283dda655"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint16_t _enet_tx_bd_ring::txDescUsed</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aafbd9907aa2b36d5b70057f646d3a439"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_tx_bd_ring::txRingLen</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00367" id="a00367"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_rx_bd_ring</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a989a4c43c214670757d13ec9ca7de15f"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="a00025.html#ga9258599b7afe3c54351a7f090ecbefcc">enet_rx_bd_struct_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a989a4c43c214670757d13ec9ca7de15f">rxBdBase</a></td></tr>
<tr class="memdesc:a989a4c43c214670757d13ec9ca7de15f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor base address pointer. <a href="#a989a4c43c214670757d13ec9ca7de15f">More...</a><br/></td></tr>
<tr class="separator:a989a4c43c214670757d13ec9ca7de15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa25f145f0339c474b128b1be8d0f9da"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#afa25f145f0339c474b128b1be8d0f9da">rxGenIdx</a></td></tr>
<tr class="memdesc:afa25f145f0339c474b128b1be8d0f9da"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current available receive buffer descriptor pointer. <a href="#afa25f145f0339c474b128b1be8d0f9da">More...</a><br/></td></tr>
<tr class="separator:afa25f145f0339c474b128b1be8d0f9da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b815ad4b128a671ea35fbb08d684088"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a4b815ad4b128a671ea35fbb08d684088">rxRingLen</a></td></tr>
<tr class="memdesc:a4b815ad4b128a671ea35fbb08d684088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive ring length. <a href="#a4b815ad4b128a671ea35fbb08d684088">More...</a><br/></td></tr>
<tr class="separator:a4b815ad4b128a671ea35fbb08d684088"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a989a4c43c214670757d13ec9ca7de15f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile <a class="el" href="a00025.html#ga9258599b7afe3c54351a7f090ecbefcc">enet_rx_bd_struct_t</a>* _enet_rx_bd_ring::rxBdBase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afa25f145f0339c474b128b1be8d0f9da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_rx_bd_ring::rxGenIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4b815ad4b128a671ea35fbb08d684088"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_rx_bd_ring::rxRingLen</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00365" id="a00365"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enet_handle</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a47ee57a054af9ec4ab00348238cc93e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga728bd3d27b4a50f102c0e1f1524f4a01">enet_rx_bd_ring_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a47ee57a054af9ec4ab00348238cc93e8">rxBdRing</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a47ee57a054af9ec4ab00348238cc93e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer descriptor. <a href="#a47ee57a054af9ec4ab00348238cc93e8">More...</a><br/></td></tr>
<tr class="separator:a47ee57a054af9ec4ab00348238cc93e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a098628020046e333699692f812fb3e67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#gaa9c8d539a880b65a4ac4043d02d37e63">enet_tx_bd_ring_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a098628020046e333699692f812fb3e67">txBdRing</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a098628020046e333699692f812fb3e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit buffer descriptor. <a href="#a098628020046e333699692f812fb3e67">More...</a><br/></td></tr>
<tr class="separator:a098628020046e333699692f812fb3e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb3b9cad0fb75f06062b93bcef5a7c97"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#adb3b9cad0fb75f06062b93bcef5a7c97">rxBuffSizeAlign</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:adb3b9cad0fb75f06062b93bcef5a7c97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer size alignment. <a href="#adb3b9cad0fb75f06062b93bcef5a7c97">More...</a><br/></td></tr>
<tr class="separator:adb3b9cad0fb75f06062b93bcef5a7c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23d58236e20ba305a4692b73e4eb7b59"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a23d58236e20ba305a4692b73e4eb7b59">txBuffSizeAlign</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a23d58236e20ba305a4692b73e4eb7b59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit buffer size alignment. <a href="#a23d58236e20ba305a4692b73e4eb7b59">More...</a><br/></td></tr>
<tr class="separator:a23d58236e20ba305a4692b73e4eb7b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e682fb52798ac223807bae6bc7a9d94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a6e682fb52798ac223807bae6bc7a9d94">rxMaintainEnable</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a6e682fb52798ac223807bae6bc7a9d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer cache maintain. <a href="#a6e682fb52798ac223807bae6bc7a9d94">More...</a><br/></td></tr>
<tr class="separator:a6e682fb52798ac223807bae6bc7a9d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12eb80e1504436617622dd89f9111373"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a12eb80e1504436617622dd89f9111373">txMaintainEnable</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a12eb80e1504436617622dd89f9111373"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit buffer cache maintain. <a href="#a12eb80e1504436617622dd89f9111373">More...</a><br/></td></tr>
<tr class="separator:a12eb80e1504436617622dd89f9111373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c28df39ee2aa20660dbd31ba9f28f9b"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a9c28df39ee2aa20660dbd31ba9f28f9b">ringNum</a></td></tr>
<tr class="memdesc:a9c28df39ee2aa20660dbd31ba9f28f9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of used rings. <a href="#a9c28df39ee2aa20660dbd31ba9f28f9b">More...</a><br/></td></tr>
<tr class="separator:a9c28df39ee2aa20660dbd31ba9f28f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06dd8c5096eb50a98f4aeeac9eacfdce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#gaae4a0ac6b9fefb310037eb1d21cfae3a">enet_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a06dd8c5096eb50a98f4aeeac9eacfdce">callback</a></td></tr>
<tr class="memdesc:a06dd8c5096eb50a98f4aeeac9eacfdce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function. <a href="#a06dd8c5096eb50a98f4aeeac9eacfdce">More...</a><br/></td></tr>
<tr class="separator:a06dd8c5096eb50a98f4aeeac9eacfdce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4499c5a470ac4b1ce86ceff33f30e08"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ac4499c5a470ac4b1ce86ceff33f30e08">userData</a></td></tr>
<tr class="memdesc:ac4499c5a470ac4b1ce86ceff33f30e08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function parameter. <a href="#ac4499c5a470ac4b1ce86ceff33f30e08">More...</a><br/></td></tr>
<tr class="separator:ac4499c5a470ac4b1ce86ceff33f30e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b2a3579ec5fb5f9436bfd6c1dd632d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga8dce49c9cde107482c55000ba03e7b4d">enet_tx_dirty_ring_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a20b2a3579ec5fb5f9436bfd6c1dd632d">txDirtyRing</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:a20b2a3579ec5fb5f9436bfd6c1dd632d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ring to store tx frame information. <a href="#a20b2a3579ec5fb5f9436bfd6c1dd632d">More...</a><br/></td></tr>
<tr class="separator:a20b2a3579ec5fb5f9436bfd6c1dd632d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaba3c2c30b2df95ca04a4d8f63c8b7fa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aaba3c2c30b2df95ca04a4d8f63c8b7fa">txReclaimEnable</a> [FSL_FEATURE_ENET_QUEUE]</td></tr>
<tr class="memdesc:aaba3c2c30b2df95ca04a4d8f63c8b7fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tx reclaim enable flag. <a href="#aaba3c2c30b2df95ca04a4d8f63c8b7fa">More...</a><br/></td></tr>
<tr class="separator:aaba3c2c30b2df95ca04a4d8f63c8b7fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2dead63a6bd503f691e6ad0d17340b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#ga1bbb35b6284c30aa9e0f8b72e2b99b19">enet_rx_alloc_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af2dead63a6bd503f691e6ad0d17340b5">rxBuffAlloc</a></td></tr>
<tr class="memdesc:af2dead63a6bd503f691e6ad0d17340b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to alloc memory for zero copy Rx. <a href="#af2dead63a6bd503f691e6ad0d17340b5">More...</a><br/></td></tr>
<tr class="separator:af2dead63a6bd503f691e6ad0d17340b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ad4d2ffcf48e1d1e811f858c821ca71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#gabc91b20606887f2430289a58f03ca815">enet_rx_free_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a6ad4d2ffcf48e1d1e811f858c821ca71">rxBuffFree</a></td></tr>
<tr class="memdesc:a6ad4d2ffcf48e1d1e811f858c821ca71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to free memory for zero copy Rx. <a href="#a6ad4d2ffcf48e1d1e811f858c821ca71">More...</a><br/></td></tr>
<tr class="separator:a6ad4d2ffcf48e1d1e811f858c821ca71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade124f9aa22128d3b209abc8b09d48ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade124f9aa22128d3b209abc8b09d48ae"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ade124f9aa22128d3b209abc8b09d48ae">multicastCount</a> [64]</td></tr>
<tr class="memdesc:ade124f9aa22128d3b209abc8b09d48ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multicast collisions counter. <br/></td></tr>
<tr class="separator:ade124f9aa22128d3b209abc8b09d48ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a47ee57a054af9ec4ab00348238cc93e8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga728bd3d27b4a50f102c0e1f1524f4a01">enet_rx_bd_ring_t</a> _enet_handle::rxBdRing[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a098628020046e333699692f812fb3e67"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#gaa9c8d539a880b65a4ac4043d02d37e63">enet_tx_bd_ring_t</a> _enet_handle::txBdRing[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adb3b9cad0fb75f06062b93bcef5a7c97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_handle::rxBuffSizeAlign[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a23d58236e20ba305a4692b73e4eb7b59"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enet_handle::txBuffSizeAlign[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6e682fb52798ac223807bae6bc7a9d94"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_handle::rxMaintainEnable[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a12eb80e1504436617622dd89f9111373"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_handle::txMaintainEnable[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9c28df39ee2aa20660dbd31ba9f28f9b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _enet_handle::ringNum</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a06dd8c5096eb50a98f4aeeac9eacfdce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#gaae4a0ac6b9fefb310037eb1d21cfae3a">enet_callback_t</a> _enet_handle::callback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac4499c5a470ac4b1ce86ceff33f30e08"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* _enet_handle::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a20b2a3579ec5fb5f9436bfd6c1dd632d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga8dce49c9cde107482c55000ba03e7b4d">enet_tx_dirty_ring_t</a> _enet_handle::txDirtyRing[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaba3c2c30b2df95ca04a4d8f63c8b7fa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enet_handle::txReclaimEnable[FSL_FEATURE_ENET_QUEUE]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af2dead63a6bd503f691e6ad0d17340b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#ga1bbb35b6284c30aa9e0f8b72e2b99b19">enet_rx_alloc_callback_t</a> _enet_handle::rxBuffAlloc</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6ad4d2ffcf48e1d1e811f858c821ca71"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00025.html#gabc91b20606887f2430289a58f03ca815">enet_rx_free_callback_t</a> _enet_handle::rxBuffFree</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga869f211125798c5e1f17464dee22704e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_ENET_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00272.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 7, 1))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga4ecdb738a6f27b81eb9ad44d24d2f1db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_EMPTY_MASK&#160;&#160;&#160;0x8000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gac3815af5aedc53cf345ae5186f711d6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_SOFTOWNER1_MASK&#160;&#160;&#160;0x4000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga37f7e7094697aa06285df27da4e3791f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_WRAP_MASK&#160;&#160;&#160;0x2000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga6097b5e5b8015de197db0e54cbb5425f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_SOFTOWNER2_Mask&#160;&#160;&#160;0x1000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae302c57c88bade74af59c4bcfcac7d0f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_LAST_MASK&#160;&#160;&#160;0x0800U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad622789c0bb27a6ac2ab54e3526d2712"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_MISS_MASK&#160;&#160;&#160;0x0100U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae4cfa2a92c961ee34445976e2949c00d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_BROADCAST_MASK&#160;&#160;&#160;0x0080U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaf47a7a6cf15a885878a39749f9d645ed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_MULTICAST_MASK&#160;&#160;&#160;0x0040U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_LENVLIOLATE_MASK&#160;&#160;&#160;0x0020U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga67881a213531011e78cc56a3ac017549"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_NOOCTET_MASK&#160;&#160;&#160;0x0010U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga4f57d5345b3a3f349e834e0d46645ce3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_CRC_MASK&#160;&#160;&#160;0x0004U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga31d458f38d3123c1eb398bf57d1ebacc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_OVERRUN_MASK&#160;&#160;&#160;0x0002U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga9e3e6bac667500c8ff096be418e7a0e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_TRUNC_MASK&#160;&#160;&#160;0x0001U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga842251a5e8c62968a87578698f0dd083"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_TX_READY_MASK&#160;&#160;&#160;0x8000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae76d465c3a9f07b28f48433022a005cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_TX_SOFTOWENER1_MASK&#160;&#160;&#160;0x4000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga159bc70ce067d81c7b44917f16ab596e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_TX_WRAP_MASK&#160;&#160;&#160;0x2000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga09c9ab0c2b634f6e97df4e5b5c4bc8a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_TX_SOFTOWENER2_MASK&#160;&#160;&#160;0x1000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga59497a4cfa4e8df8ceb6e6b39549ea1d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_TX_LAST_MASK&#160;&#160;&#160;0x0800U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga4119af7a03ab546888a3853f228b09bd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_TX_TRANMITCRC_MASK&#160;&#160;&#160;0x0400U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaa47652ada5e7cc078bc37979d5487b46"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_BUFFDESCRIPTOR_RX_ERR_MASK</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(<a class="code" href="a00025.html#ga9e3e6bac667500c8ff096be418e7a0e1">ENET_BUFFDESCRIPTOR_RX_TRUNC_MASK</a> | <a class="code" href="a00025.html#ga31d458f38d3123c1eb398bf57d1ebacc">ENET_BUFFDESCRIPTOR_RX_OVERRUN_MASK</a> | <a class="code" href="a00025.html#ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f">\</a></div>
<div class="line"><a class="code" href="a00025.html#ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f"> ENET_BUFFDESCRIPTOR_RX_LENVLIOLATE_MASK</a> | <a class="code" href="a00025.html#ga67881a213531011e78cc56a3ac017549">ENET_BUFFDESCRIPTOR_RX_NOOCTET_MASK</a> | <a class="code" href="a00025.html#ga4f57d5345b3a3f349e834e0d46645ce3">ENET_BUFFDESCRIPTOR_RX_CRC_MASK</a>)</div>
<div class="ttc" id="a00025_html_ga67881a213531011e78cc56a3ac017549"><div class="ttname"><a href="a00025.html#ga67881a213531011e78cc56a3ac017549">ENET_BUFFDESCRIPTOR_RX_NOOCTET_MASK</a></div><div class="ttdeci">#define ENET_BUFFDESCRIPTOR_RX_NOOCTET_MASK</div><div class="ttdoc">Non-octet aligned frame mask. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:48</div></div>
<div class="ttc" id="a00025_html_ga31d458f38d3123c1eb398bf57d1ebacc"><div class="ttname"><a href="a00025.html#ga31d458f38d3123c1eb398bf57d1ebacc">ENET_BUFFDESCRIPTOR_RX_OVERRUN_MASK</a></div><div class="ttdeci">#define ENET_BUFFDESCRIPTOR_RX_OVERRUN_MASK</div><div class="ttdoc">FIFO overrun mask. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:50</div></div>
<div class="ttc" id="a00025_html_ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f"><div class="ttname"><a href="a00025.html#ga7b3cbc3ed367bd8fcbcbb6bcc14ef06f">ENET_BUFFDESCRIPTOR_RX_LENVLIOLATE_MASK</a></div><div class="ttdeci">#define ENET_BUFFDESCRIPTOR_RX_LENVLIOLATE_MASK</div><div class="ttdoc">Length violation mask. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:47</div></div>
<div class="ttc" id="a00025_html_ga9e3e6bac667500c8ff096be418e7a0e1"><div class="ttname"><a href="a00025.html#ga9e3e6bac667500c8ff096be418e7a0e1">ENET_BUFFDESCRIPTOR_RX_TRUNC_MASK</a></div><div class="ttdeci">#define ENET_BUFFDESCRIPTOR_RX_TRUNC_MASK</div><div class="ttdoc">Frame is truncated mask. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:51</div></div>
<div class="ttc" id="a00025_html_ga4f57d5345b3a3f349e834e0d46645ce3"><div class="ttname"><a href="a00025.html#ga4f57d5345b3a3f349e834e0d46645ce3">ENET_BUFFDESCRIPTOR_RX_CRC_MASK</a></div><div class="ttdeci">#define ENET_BUFFDESCRIPTOR_RX_CRC_MASK</div><div class="ttdoc">CRC error mask. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:49</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga4fa46b5ee409f6d147980adc57493f6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_FRAME_MAX_FRAMELEN&#160;&#160;&#160;1518U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7d65d69c078899c7c1673f11a26adfe7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_FRAME_VLAN_TAGLEN&#160;&#160;&#160;4U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga84b8a613eb8bfff9a737b6e58785b84a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_FRAME_CRC_LEN&#160;&#160;&#160;4U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae9e50e322b991831fd71514002a3ca7b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_FIFO_MIN_RX_FULL&#160;&#160;&#160;5U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaedbdd29c8a3e25c856b42f13edebcd8d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_RX_MIN_BUFFERSIZE&#160;&#160;&#160;256U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga1f4edc29c5f534c4bd8f1afbd0185a4f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_PHY_MAXADDRESS&#160;&#160;&#160;(ENET_MMFR_PA_MASK &gt;&gt; ENET_MMFR_PA_SHIFT)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gabcfe9d54430081cd436f002f4912e6b0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_TX_INTERRUPT&#160;&#160;&#160;((uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f">kENET_TxFrameInterrupt</a> | (uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97ab48679949090d31d9245d28f4b8ac31e">kENET_TxBufferInterrupt</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga884cb09f25caa75519ab5514393cc118"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_RX_INTERRUPT&#160;&#160;&#160;((uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70">kENET_RxFrameInterrupt</a> | (uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97af4e8f4292fde8f09ade517e91ac8baa7">kENET_RxBufferInterrupt</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga1542982978e8f2293acbbf1a989d7fdb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_TS_INTERRUPT&#160;&#160;&#160;((uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7bdae7cedb0c8ca1087feb1511b1bb1c">kENET_TsTimerInterrupt</a> | (uint32_t)<a class="el" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a9bd0bb3fb86f1c342bbcc3f2407e3e06">kENET_TsAvailInterrupt</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaf207b6aa1230056b8daeca5ccb0fe8fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENET_ERR_INTERRUPT</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a2723f07cc888d945f74650566d79e82e">kENET_BabrInterrupt</a> | (uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a103227b91492fa90cf41212e63b1e7ae">kENET_BabtInterrupt</a> | (uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97ace73af088e05b63d6f8d6aeda6a9908e">kENET_EBusERInterrupt</a> | \</div>
<div class="line"> (uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1495716c4d2b819469d0243c3768eac1">kENET_LateCollisionInterrupt</a> | (uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a39343a8e490ffbc2146a517b8c4a82b2">kENET_RetryLimitInterrupt</a> | \</div>
<div class="line"> (uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1fa3a1323a0da32594d84172db1e95ed">kENET_UnderrunInterrupt</a> | (uint32_t)<a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97aefe7250848088c6a514d609ff1bd6b2c">kENET_PayloadRxInterrupt</a>)</div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97a1fa3a1323a0da32594d84172db1e95ed"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1fa3a1323a0da32594d84172db1e95ed">kENET_UnderrunInterrupt</a></div><div class="ttdoc">Transmit FIFO underrun interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:271</div></div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97a1495716c4d2b819469d0243c3768eac1"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a1495716c4d2b819469d0243c3768eac1">kENET_LateCollisionInterrupt</a></div><div class="ttdoc">Late collision interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:269</div></div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97a39343a8e490ffbc2146a517b8c4a82b2"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a39343a8e490ffbc2146a517b8c4a82b2">kENET_RetryLimitInterrupt</a></div><div class="ttdoc">Collision Retry Limit interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:270</div></div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97a2723f07cc888d945f74650566d79e82e"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a2723f07cc888d945f74650566d79e82e">kENET_BabrInterrupt</a></div><div class="ttdoc">Babbling receive error interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:260</div></div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97aefe7250848088c6a514d609ff1bd6b2c"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97aefe7250848088c6a514d609ff1bd6b2c">kENET_PayloadRxInterrupt</a></div><div class="ttdoc">Payload Receive error interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:272</div></div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97ace73af088e05b63d6f8d6aeda6a9908e"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97ace73af088e05b63d6f8d6aeda6a9908e">kENET_EBusERInterrupt</a></div><div class="ttdoc">Ethernet bus error interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:268</div></div>
<div class="ttc" id="a00025_html_gga4e2e582474d9c2e86ea6edf16ef70c97a103227b91492fa90cf41212e63b1e7ae"><div class="ttname"><a href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a103227b91492fa90cf41212e63b1e7ae">kENET_BabtInterrupt</a></div><div class="ttdoc">Babbling transmit error interrupt source. </div><div class="ttdef"><b>Definition:</b> fsl_enet.h:261</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga285ce45cec89dda602433db19dc66e8f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga2ac7a6450188255daf6c0698d6241cbe">_enet_mii_mode</a> <a class="el" href="a00025.html#ga285ce45cec89dda602433db19dc66e8f">enet_mii_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaba02d036bbe1463f21d421eed4358bb2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga1b4b5924eca34762bd5ec1ee783aa417">_enet_mii_speed</a> <a class="el" href="a00025.html#gaba02d036bbe1463f21d421eed4358bb2">enet_mii_speed_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Notice: "kENET_MiiSpeed1000M" only supported when mii mode is "kENET_RgmiiMode". </p>
</div>
</div>
<a class="anchor" id="ga75c2799d0b0a4d091a6dbc4d67d8b55f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#gad9098c2e8e4fc29f2d2a032b4fc4ae57">_enet_mii_duplex</a> <a class="el" href="a00025.html#ga75c2799d0b0a4d091a6dbc4d67d8b55f">enet_mii_duplex_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad2c3fc6bdee746926b3f15647aac3732"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#gabf72ec5512ee82526a79d09bb2868bde">_enet_mii_write</a> <a class="el" href="a00025.html#gad2c3fc6bdee746926b3f15647aac3732">enet_mii_write_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga6df5ee84f48d543040cf6ea26e38b381"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga649bd890441475f51dcba653e48bf2e2">_enet_mii_read</a> <a class="el" href="a00025.html#ga6df5ee84f48d543040cf6ea26e38b381">enet_mii_read_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga3a446532a9ecb437fe83b9f0a09bd0f0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga99428602d18594a9582cae8e9d255815">_enet_mii_extend_opcode</a> <a class="el" href="a00025.html#ga3a446532a9ecb437fe83b9f0a09bd0f0">enet_mii_extend_opcode</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga24d10299b5cfafed5b144a580ff2d04d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga177421d03c9c60fbc8ac403f6fb511e7">_enet_special_control_flag</a> <a class="el" href="a00025.html#ga24d10299b5cfafed5b144a580ff2d04d">enet_special_control_flag_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These control flags are provided for special user requirements. Normally, these control flags are unused for ENET initialization. For special requirements, set the flags to macSpecialConfig in the enet_config_t. The kENET_ControlStoreAndFwdDisable is used to disable the FIFO store and forward. FIFO store and forward means that the FIFO read/send is started when a complete frame is stored in TX/RX FIFO. If this flag is set, configure rxFifoFullThreshold and txFifoWatermark in the enet_config_t. </p>
</div>
</div>
<a class="anchor" id="gae7828a7d773e0ba7e983e5e25ac9b158"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga4e2e582474d9c2e86ea6edf16ef70c97">_enet_interrupt_enable</a> <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158">enet_interrupt_enable_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enumeration uses one-bit encoding to allow a logical OR of multiple members. Members usually map to interrupt enable bits in one or more peripheral registers. </p>
</div>
</div>
<a class="anchor" id="ga34965e8ead244ab448331cad0143fac8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga2d46efb8a1e501381f46532670e2059a">_enet_event</a> <a class="el" href="a00025.html#ga34965e8ead244ab448331cad0143fac8">enet_event_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaf5aa65d266d764102d87169dc6c2ffb1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#ga896bd2a909106726c99ad5ec21d3e7b5">_enet_tx_accelerator</a> <a class="el" href="a00025.html#gaf5aa65d266d764102d87169dc6c2ffb1">enet_tx_accelerator_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga50488827792ead298806385419a28dc7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00025.html#gad573870ee83c0916b907ee9a3bc7f48e">_enet_rx_accelerator</a> <a class="el" href="a00025.html#ga50488827792ead298806385419a28dc7">enet_rx_accelerator_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga9258599b7afe3c54351a7f090ecbefcc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00368">_enet_rx_bd_struct</a> <a class="el" href="a00025.html#ga9258599b7afe3c54351a7f090ecbefcc">enet_rx_bd_struct_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga293febf3ea614a2ec94be3e658ce3779"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00372">_enet_tx_bd_struct</a> <a class="el" href="a00025.html#ga293febf3ea614a2ec94be3e658ce3779">enet_tx_bd_struct_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gabf72758c18e329d7db133eec827b1dc8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00364">_enet_data_error_stats</a> <a class="el" href="a00025.html#gabf72758c18e329d7db133eec827b1dc8">enet_data_error_stats_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga0fa8da1b6e38ffd891d85dd33baa8846"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00369">_enet_rx_frame_error</a> <a class="el" href="a00025.html#ga0fa8da1b6e38ffd891d85dd33baa8846">enet_rx_frame_error_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga04a3b3a37e6e9f99085044258f573ef7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00370">_enet_transfer_stats</a> <a class="el" href="a00025.html#ga04a3b3a37e6e9f99085044258f573ef7">enet_transfer_stats_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga5f838acb97e5410075da57edfd9ec7bd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00561">enet_frame_info</a> <a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga8dce49c9cde107482c55000ba03e7b4d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00373">_enet_tx_dirty_ring</a> <a class="el" href="a00025.html#ga8dce49c9cde107482c55000ba03e7b4d">enet_tx_dirty_ring_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga1bbb35b6284c30aa9e0f8b72e2b99b19"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void*(* enet_rx_alloc_callback_t)(ENET_Type *base, void *userData, uint8_t ringId)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gabc91b20606887f2430289a58f03ca815"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* enet_rx_free_callback_t)(ENET_Type *base, void *buffer, void *userData, uint8_t ringId)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga0f56ea6c3ea9998923071f301a08396e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00362">_enet_buffer_config</a> <a class="el" href="a00025.html#ga0f56ea6c3ea9998923071f301a08396e">enet_buffer_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note that for the internal DMA requirements, the buffers have a corresponding alignment requirements.</p>
<ol type="1">
<li>The aligned receive and transmit buffer size must be evenly divisible by ENET_BUFF_ALIGNMENT. when the data buffers are in cacheable region when cache is enabled, all those size should be aligned to the maximum value of "ENET_BUFF_ALIGNMENT" and the cache line size.</li>
<li>The aligned transmit and receive buffer descriptor start address must be at least 64 bit aligned. However, it's recommended to be evenly divisible by ENET_BUFF_ALIGNMENT. buffer descriptors should be put in non-cacheable region when cache is enabled.</li>
<li>The aligned transmit and receive data buffer start address must be evenly divisible by ENET_BUFF_ALIGNMENT. Receive buffers should be continuous with the total size equal to "rxBdNumber * rxBuffSizeAlign". Transmit buffers should be continuous with the total size equal to "txBdNumber * txBuffSizeAlign". when the data buffers are in cacheable region when cache is enabled, all those size should be aligned to the maximum value of "ENET_BUFF_ALIGNMENT" and the cache line size. </li>
</ol>
</div>
</div>
<a class="anchor" id="ga4ce13dc17143bfef7ced8b60f8d91a9c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00366">_enet_intcoalesce_config</a> <a class="el" href="a00025.html#ga4ce13dc17143bfef7ced8b60f8d91a9c">enet_intcoalesce_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaae4a0ac6b9fefb310037eb1d21cfae3a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* enet_callback_t)(ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle,<a class="el" href="a00025.html#ga34965e8ead244ab448331cad0143fac8">enet_event_t</a> event, <a class="el" href="a00025.html#ga5f838acb97e5410075da57edfd9ec7bd">enet_frame_info_t</a> *frameInfo, void *userData)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae75b54ce31b5961f84a14f884fd03415"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00363">_enet_config</a> <a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note:</p>
<ol type="1">
<li>macSpecialConfig is used for a special control configuration, A logical OR of "enet_special_control_flag_t". For a special configuration for MAC, set this parameter to 0.</li>
<li>txWatermark is used for a cut-through operation. It is in steps of 64 bytes: 0/1 - 64 bytes written to TX FIFO before transmission of a frame begins. 2 - 128 bytes written to TX FIFO .... 3 - 192 bytes written to TX FIFO .... The maximum of txWatermark is 0x2F - 4032 bytes written to TX FIFO .... txWatermark allows minimizing the transmit latency to set the txWatermark to 0 or 1 or for larger bus access latency 3 or larger due to contention for the system bus.</li>
<li>rxFifoFullThreshold is similar to the txWatermark for cut-through operation in RX. It is in 64-bit words. The minimum is ENET_FIFO_MIN_RX_FULL and the maximum is 0xFF. If the end of the frame is stored in FIFO and the frame size if smaller than the txWatermark, the frame is still transmitted. The rule is the same for rxFifoFullThreshold in the receive direction.</li>
<li>When "kENET_ControlFlowControlEnable" is set in the macSpecialConfig, ensure that the pauseDuration, rxFifoEmptyThreshold, and rxFifoStatEmptyThreshold are set for flow control enabled case.</li>
<li>When "kENET_ControlStoreAndFwdDisabled" is set in the macSpecialConfig, ensure that the rxFifoFullThreshold and txFifoWatermark are set for store and forward disable.</li>
<li>The rxAccelerConfig and txAccelerConfig default setting with 0 - accelerator are disabled. The "enet_tx_accelerator_t" and "enet_rx_accelerator_t" are recommended to be used to enable the transmit and receive accelerator. After the accelerators are enabled, the store and forward feature should be enabled. As a result, kENET_ControlStoreAndFwdDisabled should not be set.</li>
<li>The intCoalesceCfg can be used in the rx or tx enabled cases to decrese the CPU loading. </li>
</ol>
</div>
</div>
<a class="anchor" id="gaa9c8d539a880b65a4ac4043d02d37e63"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00371">_enet_tx_bd_ring</a> <a class="el" href="a00025.html#gaa9c8d539a880b65a4ac4043d02d37e63">enet_tx_bd_ring_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga728bd3d27b4a50f102c0e1f1524f4a01"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00025.html#a00367">_enet_rx_bd_ring</a> <a class="el" href="a00025.html#ga728bd3d27b4a50f102c0e1f1524f4a01">enet_rx_bd_ring_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad2a1cb1c771a59d8818aa2dfdaf6007f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* enet_isr_t)(ENET_Type *base, <a class="el" href="a00025.html#a00365">enet_handle_t</a> *handle)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga05589fbab0657f08285ebdfe93f5ec9e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea7aea34b36e0d0922379df4f2e950e246"></a>kStatus_ENET_InitMemoryFail</em>&nbsp;</td><td class="fielddoc">
<p>Init fails since buffer memory is not enough. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eaef1f945a6dc8fcf6267d57aac2a19f99"></a>kStatus_ENET_RxFrameError</em>&nbsp;</td><td class="fielddoc">
<p>A frame received but data error happen. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea97bf0aacb16c8874c7a0a016483cb2ec"></a>kStatus_ENET_RxFrameFail</em>&nbsp;</td><td class="fielddoc">
<p>Failed to receive a frame. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea50e097caecebfb4afacf2c8a667a5409"></a>kStatus_ENET_RxFrameEmpty</em>&nbsp;</td><td class="fielddoc">
<p>No frame arrive. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea5cc111bececeba55172e9203a5825659"></a>kStatus_ENET_RxFrameDrop</em>&nbsp;</td><td class="fielddoc">
<p>Rx frame is dropped since no buffer memory. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eaf12461c772f3ff70fc5a8664bb49701e"></a>kStatus_ENET_TxFrameOverLen</em>&nbsp;</td><td class="fielddoc">
<p>Tx frame over length. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ead15b9b2af39f28f90889bb19f568e844"></a>kStatus_ENET_TxFrameBusy</em>&nbsp;</td><td class="fielddoc">
<p>Tx buffer descriptors are under process. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea34b4c8ff24db933516a0cf13fc8174ad"></a>kStatus_ENET_TxFrameFail</em>&nbsp;</td><td class="fielddoc">
<p>Transmit frame fail. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga2ac7a6450188255daf6c0698d6241cbe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga2ac7a6450188255daf6c0698d6241cbe">_enet_mii_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga2ac7a6450188255daf6c0698d6241cbea8625ad828cb3aae19fa0c2e6934e9368"></a>kENET_MiiMode</em>&nbsp;</td><td class="fielddoc">
<p>MII mode for data interface. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ac7a6450188255daf6c0698d6241cbeae44236ebbdfcc0ae1e3520edd3d2d602"></a>kENET_RmiiMode</em>&nbsp;</td><td class="fielddoc">
<p>RMII mode for data interface. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga1b4b5924eca34762bd5ec1ee783aa417"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga1b4b5924eca34762bd5ec1ee783aa417">_enet_mii_speed</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Notice: "kENET_MiiSpeed1000M" only supported when mii mode is "kENET_RgmiiMode". </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1b4b5924eca34762bd5ec1ee783aa417a6e8f095a5a1944d54425565b5beb835c"></a>kENET_MiiSpeed10M</em>&nbsp;</td><td class="fielddoc">
<p>Speed 10 Mbps. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1b4b5924eca34762bd5ec1ee783aa417a267390f53c987b908852257bf5407e8e"></a>kENET_MiiSpeed100M</em>&nbsp;</td><td class="fielddoc">
<p>Speed 100 Mbps. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gad9098c2e8e4fc29f2d2a032b4fc4ae57"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#gad9098c2e8e4fc29f2d2a032b4fc4ae57">_enet_mii_duplex</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad9098c2e8e4fc29f2d2a032b4fc4ae57ad3b58af3cb1b983f8e3cd45b585c91b9"></a>kENET_MiiHalfDuplex</em>&nbsp;</td><td class="fielddoc">
<p>Half duplex mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad9098c2e8e4fc29f2d2a032b4fc4ae57a0d2ad2c3708231614c716bc921503d6c"></a>kENET_MiiFullDuplex</em>&nbsp;</td><td class="fielddoc">
<p>Full duplex mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gabf72ec5512ee82526a79d09bb2868bde"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#gabf72ec5512ee82526a79d09bb2868bde">_enet_mii_write</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabf72ec5512ee82526a79d09bb2868bdeafa74c106f9ed2436e47a5c3f54382b71"></a>kENET_MiiWriteNoCompliant</em>&nbsp;</td><td class="fielddoc">
<p>Write frame operation, but not MII-compliant. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf72ec5512ee82526a79d09bb2868bdea1611c88e328da10f5c43bd138eca6794"></a>kENET_MiiWriteValidFrame</em>&nbsp;</td><td class="fielddoc">
<p>Write frame operation for a valid MII management frame. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga649bd890441475f51dcba653e48bf2e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga649bd890441475f51dcba653e48bf2e2">_enet_mii_read</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga649bd890441475f51dcba653e48bf2e2a25d7fb88a8252dc7250617be5ea78f91"></a>kENET_MiiReadValidFrame</em>&nbsp;</td><td class="fielddoc">
<p>Read frame operation for a valid MII management frame. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga649bd890441475f51dcba653e48bf2e2a3a3402b126399caf1ad17a2981f69a14"></a>kENET_MiiReadNoCompliant</em>&nbsp;</td><td class="fielddoc">
<p>Read frame operation, but not MII-compliant. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga99428602d18594a9582cae8e9d255815"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga99428602d18594a9582cae8e9d255815">_enet_mii_extend_opcode</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga99428602d18594a9582cae8e9d255815aa031e39c75c2ab6c27c06f447338446b"></a>kENET_MiiAddrWrite_C45</em>&nbsp;</td><td class="fielddoc">
<p>Address Write operation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99428602d18594a9582cae8e9d255815abc5c4c556438c39c9d2578254431512b"></a>kENET_MiiWriteFrame_C45</em>&nbsp;</td><td class="fielddoc">
<p>Write frame operation for a valid MII management frame. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99428602d18594a9582cae8e9d255815a06eec19796c92e001ad6cc728fc3139d"></a>kENET_MiiReadFrame_C45</em>&nbsp;</td><td class="fielddoc">
<p>Read frame operation for a valid MII management frame. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga177421d03c9c60fbc8ac403f6fb511e7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga177421d03c9c60fbc8ac403f6fb511e7">_enet_special_control_flag</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These control flags are provided for special user requirements. Normally, these control flags are unused for ENET initialization. For special requirements, set the flags to macSpecialConfig in the enet_config_t. The kENET_ControlStoreAndFwdDisable is used to disable the FIFO store and forward. FIFO store and forward means that the FIFO read/send is started when a complete frame is stored in TX/RX FIFO. If this flag is set, configure rxFifoFullThreshold and txFifoWatermark in the enet_config_t. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7a2274920ae245b67edc1538ecc662e2e7"></a>kENET_ControlFlowControlEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable ENET flow control: pause frame. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7a9493b832848510c47488327ef49e4d09"></a>kENET_ControlRxPayloadCheckEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable ENET receive payload length check. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7aa29ba1cc644bf602ffc8ef9e1ae02892"></a>kENET_ControlRxPadRemoveEnable</em>&nbsp;</td><td class="fielddoc">
<p>Padding is removed from received frames. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7ade873dafe5c7263f8cc62b0ca92aada3"></a>kENET_ControlRxBroadCastRejectEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable broadcast frame reject. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7ac806eb5baebf350b694cca943bc812c7"></a>kENET_ControlMacAddrInsert</em>&nbsp;</td><td class="fielddoc">
<p>Enable MAC address insert. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7abb1b113283cf4f67722599cc58803643"></a>kENET_ControlStoreAndFwdDisable</em>&nbsp;</td><td class="fielddoc">
<p>Enable FIFO store and forward. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7a8eb7a5389fe9cf0a867066be878efcf1"></a>kENET_ControlSMIPreambleDisable</em>&nbsp;</td><td class="fielddoc">
<p>Enable SMI preamble. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7a51af87f0cfef162bc4c48fd0884c0cab"></a>kENET_ControlPromiscuousEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable promiscuous mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7a8cfbb36dc3a0bebf378ed53d527e93af"></a>kENET_ControlMIILoopEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable ENET MII loop back. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga177421d03c9c60fbc8ac403f6fb511e7a3553f9aa0fdc655ffff8e0f46f6cb4b7"></a>kENET_ControlVLANTagEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable normal VLAN (single vlan tag). </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga4e2e582474d9c2e86ea6edf16ef70c97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga4e2e582474d9c2e86ea6edf16ef70c97">_enet_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This enumeration uses one-bit encoding to allow a logical OR of multiple members. Members usually map to interrupt enable bits in one or more peripheral registers. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a2723f07cc888d945f74650566d79e82e"></a>kENET_BabrInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Babbling receive error interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a103227b91492fa90cf41212e63b1e7ae"></a>kENET_BabtInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Babbling transmit error interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a1a3e80425de2ce87abc060cef41d1f9e"></a>kENET_GraceStopInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Graceful stop complete interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f"></a>kENET_TxFrameInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>TX FRAME interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97ab48679949090d31d9245d28f4b8ac31e"></a>kENET_TxBufferInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>TX BUFFER interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70"></a>kENET_RxFrameInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>RX FRAME interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97af4e8f4292fde8f09ade517e91ac8baa7"></a>kENET_RxBufferInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>RX BUFFER interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97af14e66a1e3dd261481ae560fb2794340"></a>kENET_MiiInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>MII interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97ace73af088e05b63d6f8d6aeda6a9908e"></a>kENET_EBusERInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Ethernet bus error interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a1495716c4d2b819469d0243c3768eac1"></a>kENET_LateCollisionInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Late collision interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a39343a8e490ffbc2146a517b8c4a82b2"></a>kENET_RetryLimitInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Collision Retry Limit interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a1fa3a1323a0da32594d84172db1e95ed"></a>kENET_UnderrunInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO underrun interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97aefe7250848088c6a514d609ff1bd6b2c"></a>kENET_PayloadRxInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>Payload Receive error interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a25974ac3cc05e3d928eab800a0f09c27"></a>kENET_WakeupInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>WAKEUP interrupt source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a9bd0bb3fb86f1c342bbcc3f2407e3e06"></a>kENET_TsAvailInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>TS AVAIL interrupt source for PTP. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4e2e582474d9c2e86ea6edf16ef70c97a7bdae7cedb0c8ca1087feb1511b1bb1c"></a>kENET_TsTimerInterrupt</em>&nbsp;</td><td class="fielddoc">
<p>TS WRAP interrupt source for PTP. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga2d46efb8a1e501381f46532670e2059a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga2d46efb8a1e501381f46532670e2059a">_enet_event</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga2d46efb8a1e501381f46532670e2059aa0ef30a1e4757622d27d6ca879f300cb6"></a>kENET_RxEvent</em>&nbsp;</td><td class="fielddoc">
<p>Receive event. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2d46efb8a1e501381f46532670e2059aaae83f9ee29da3fe085f4d1e24983bef7"></a>kENET_TxEvent</em>&nbsp;</td><td class="fielddoc">
<p>Transmit event. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2d46efb8a1e501381f46532670e2059aa1b4966d24ea40b037e7f0e1022441ea7"></a>kENET_ErrEvent</em>&nbsp;</td><td class="fielddoc">
<p>Error event: BABR/BABT/EBERR/LC/RL/UN/PLR . </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2d46efb8a1e501381f46532670e2059aa6e0c81e642fcb382d2f38ad32a32ec07"></a>kENET_WakeUpEvent</em>&nbsp;</td><td class="fielddoc">
<p>Wake up from sleep mode event. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2d46efb8a1e501381f46532670e2059aa2d4e884e83838e4bd8985b0c846e2844"></a>kENET_TimeStampEvent</em>&nbsp;</td><td class="fielddoc">
<p>Time stamp event. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2d46efb8a1e501381f46532670e2059aa5f3aa0c8f959a838732c6a38965a1e2a"></a>kENET_TimeStampAvailEvent</em>&nbsp;</td><td class="fielddoc">
<p>Time stamp available event. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga896bd2a909106726c99ad5ec21d3e7b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#ga896bd2a909106726c99ad5ec21d3e7b5">_enet_tx_accelerator</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga896bd2a909106726c99ad5ec21d3e7b5a7db407a277c41ca9d215412e2ef05476"></a>kENET_TxAccelIsShift16Enabled</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO shift-16. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga896bd2a909106726c99ad5ec21d3e7b5ad2f2ea0738c6b7fcaee5e02f8f1a8645"></a>kENET_TxAccelIpCheckEnabled</em>&nbsp;</td><td class="fielddoc">
<p>Insert IP header checksum. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga896bd2a909106726c99ad5ec21d3e7b5aa85f2b263781a1c43c304c3f380556ae"></a>kENET_TxAccelProtoCheckEnabled</em>&nbsp;</td><td class="fielddoc">
<p>Insert protocol checksum. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gad573870ee83c0916b907ee9a3bc7f48e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00025.html#gad573870ee83c0916b907ee9a3bc7f48e">_enet_rx_accelerator</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad573870ee83c0916b907ee9a3bc7f48ea55ba5425899621f83b28c0c8e61b9060"></a>kENET_RxAccelPadRemoveEnabled</em>&nbsp;</td><td class="fielddoc">
<p>Padding removal for short IP frames. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad573870ee83c0916b907ee9a3bc7f48ea517175d18302c670ad3b0999a9a1c9b1"></a>kENET_RxAccelIpCheckEnabled</em>&nbsp;</td><td class="fielddoc">
<p>Discard with wrong IP header checksum. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad573870ee83c0916b907ee9a3bc7f48ea122f314d9f24c28b18ce350398fcce98"></a>kENET_RxAccelProtoCheckEnabled</em>&nbsp;</td><td class="fielddoc">
<p>Discard with wrong protocol checksum. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad573870ee83c0916b907ee9a3bc7f48ea3082dc2e884e8b71a82f857c9f24890d"></a>kENET_RxAccelMacCheckEnabled</em>&nbsp;</td><td class="fielddoc">
<p>Discard with Mac layer errors. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad573870ee83c0916b907ee9a3bc7f48ea659e8b06edb4f6944c9969dd56649b89"></a>kENET_RxAccelisShift16Enabled</em>&nbsp;</td><td class="fielddoc">
<p>Receive FIFO shift-16. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga50f498499f0ae949895298dee8ce3683"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ENET_GetInstance </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ENET instance. </dd></dl>
</div>
</div>
<a class="anchor" id="gaf0992a0c9c3a27b2a40226ac38a26d1e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The purpose of this API is to get the default ENET MAC controller configure structure for <a class="el" href="a00025.html#gaf110b83a0fc68e066e66f71761167e72" title="Initializes the ENET module. ">ENET_Init()</a>. User may use the initialized structure unchanged in <a class="el" href="a00025.html#gaf110b83a0fc68e066e66f71761167e72" title="Initializes the ENET module. ">ENET_Init()</a>, or modify some fields of the structure before calling <a class="el" href="a00025.html#gaf110b83a0fc68e066e66f71761167e72" title="Initializes the ENET module. ">ENET_Init()</a>. Example: </p>
<div class="fragment"><div class="line"><a class="code" href="a00025.html#a00363">enet_config_t</a> config;</div>
<div class="line"><a class="code" href="a00025.html#gaf0992a0c9c3a27b2a40226ac38a26d1e">ENET_GetDefaultConfig</a>(&amp;config);</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>The ENET mac controller configuration structure pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga54fbc7883a06c944520b495d9beaf642"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_Up </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00025.html#ga0f56ea6c3ea9998923071f301a08396e">enet_buffer_config_t</a> *&#160;</td>
<td class="paramname"><em>bufferConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>macAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the module with the ENET configuration. </p>
<dl class="section note"><dt>Note</dt><dd>ENET has two buffer descriptors legacy buffer descriptors and enhanced IEEE 1588 buffer descriptors. The legacy descriptor is used by default. To use the IEEE 1588 feature, use the enhanced IEEE 1588 buffer descriptor by defining "ENET_ENHANCEDBUFFERDESCRIPTOR_MODE" and calling ENET_Ptp1588Configure() to configure the 1588 feature and related buffers after calling <a class="el" href="a00025.html#ga54fbc7883a06c944520b495d9beaf642" title="Initializes the ENET module. ">ENET_Up()</a>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>ENET handler pointer. </td></tr>
<tr><td class="paramname">config</td><td>ENET mac configuration structure pointer. The "enet_config_t" type mac configuration return from ENET_GetDefaultConfig can be used directly. It is also possible to verify the Mac configuration using other methods. </td></tr>
<tr><td class="paramname">bufferConfig</td><td>ENET buffer configuration structure pointer. The buffer configuration should be prepared for ENET Initialization. It is the start address of "ringNum" enet_buffer_config structures. To support added multi-ring features in some soc and compatible with the previous enet driver version. For single ring supported, this bufferConfig is a buffer configure structure pointer, for multi-ring supported and used case, this bufferConfig pointer should be a buffer configure structure array pointer. </td></tr>
<tr><td class="paramname">macAddr</td><td>ENET mac address of Ethernet device. This MAC address should be provided. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>The internal module clock source for MII clock. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed to initialize the ethernet driver. </td></tr>
<tr><td class="paramname">kStatus_ENET_InitMemoryFail</td><td>Init fails since buffer memory is not enough. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf110b83a0fc68e066e66f71761167e72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_Init </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00025.html#gae75b54ce31b5961f84a14f884fd03415">enet_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00025.html#ga0f56ea6c3ea9998923071f301a08396e">enet_buffer_config_t</a> *&#160;</td>
<td class="paramname"><em>bufferConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>macAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function ungates the module clock and initializes it with the ENET configuration. </p>
<dl class="section note"><dt>Note</dt><dd>ENET has two buffer descriptors legacy buffer descriptors and enhanced IEEE 1588 buffer descriptors. The legacy descriptor is used by default. To use the IEEE 1588 feature, use the enhanced IEEE 1588 buffer descriptor by defining "ENET_ENHANCEDBUFFERDESCRIPTOR_MODE" and calling ENET_Ptp1588Configure() to configure the 1588 feature and related buffers after calling <a class="el" href="a00025.html#gaf110b83a0fc68e066e66f71761167e72" title="Initializes the ENET module. ">ENET_Init()</a>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>ENET handler pointer. </td></tr>
<tr><td class="paramname">config</td><td>ENET mac configuration structure pointer. The "enet_config_t" type mac configuration return from ENET_GetDefaultConfig can be used directly. It is also possible to verify the Mac configuration using other methods. </td></tr>
<tr><td class="paramname">bufferConfig</td><td>ENET buffer configuration structure pointer. The buffer configuration should be prepared for ENET Initialization. It is the start address of "ringNum" enet_buffer_config structures. To support added multi-ring features in some soc and compatible with the previous enet driver version. For single ring supported, this bufferConfig is a buffer configure structure pointer, for multi-ring supported and used case, this bufferConfig pointer should be a buffer configure structure array pointer. </td></tr>
<tr><td class="paramname">macAddr</td><td>ENET mac address of Ethernet device. This MAC address should be provided. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>The internal module clock source for MII clock. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed to initialize the ethernet driver. </td></tr>
<tr><td class="paramname">kStatus_ENET_InitMemoryFail</td><td>Init fails since buffer memory is not enough. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac1cc2627749a65945a76703cd2afb90b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_Down </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the ENET module.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga72f7e3493a2f4134324e9e72492bdbbc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_Deinit </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gates the module clock, clears ENET interrupts, and disables the ENET module.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga809c3f91a850b53afa5511603b1c91df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_Reset </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function restores the ENET module to reset state. Note that this function sets all registers to reset state. As a result, the ENET module can't work after calling this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9008a47cdf43fe2eddde467c9841fc7b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_SetMII </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#gaba02d036bbe1463f21d421eed4358bb2">enet_mii_speed_t</a>&#160;</td>
<td class="paramname"><em>speed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#ga75c2799d0b0a4d091a6dbc4d67d8b55f">enet_mii_duplex_t</a>&#160;</td>
<td class="paramname"><em>duplex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API is provided to dynamically change the speed and dulpex for MAC.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">speed</td><td>The speed of the RMII mode. </td></tr>
<tr><td class="paramname">duplex</td><td>The duplex of the RMII mode. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4e2546cfd538bd06950f2145592858f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_SetSMI </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isPreambleDisabled</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>This is the ENET module clock frequency. See clock distribution. </td></tr>
<tr><td class="paramname">isPreambleDisabled</td><td>The preamble disable flag.<ul>
<li>true Enables the preamble.</li>
<li>false Disables the preamble. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga95deb3a7ea7873830ed7b65cabe93b88"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool ENET_GetSMI </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This API is used to get the SMI configuration to check whether the MII management interface has been set.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The SMI setup status true or false. </dd></dl>
</div>
</div>
<a class="anchor" id="ga1720662e45648e0f081b9152c36b3156"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t ENET_ReadSMIData </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The data read from PHY </dd></dl>
</div>
</div>
<a class="anchor" id="ga928b72c0b95d7f4af73a753b8afd08e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_StartSMIWrite </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>phyAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>regAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#gad2c3fc6bdee746926b3f15647aac3732">enet_mii_write_t</a>&#160;</td>
<td class="paramname"><em>operation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After calling this function, need to check whether the transmission is over then do next MDIO operation. For ease of use, encapsulated <a class="el" href="a00025.html#gadaaa62f2a826957ac10a75e4c2a5b739" title="MDIO write with IEEE802.3 Clause 22 format. ">ENET_MDIOWrite()</a> can be called. For customized requirements, implement with combining separated APIs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">phyAddr</td><td>The PHY address. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register address. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">operation</td><td>The write operation. </td></tr>
<tr><td class="paramname">data</td><td>The data written to PHY. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga447a3f073b07936eff311f58024a8469"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_StartSMIRead </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>phyAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>regAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#ga6df5ee84f48d543040cf6ea26e38b381">enet_mii_read_t</a>&#160;</td>
<td class="paramname"><em>operation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After calling this function, need to check whether the transmission is over then do next MDIO operation. For ease of use, encapsulated <a class="el" href="a00025.html#ga892febd8596edf39f3301551df9dcc2c" title="MDIO read with IEEE802.3 Clause 22 format. ">ENET_MDIORead()</a> can be called. For customized requirements, implement with combining separated APIs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">phyAddr</td><td>The PHY address. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register address. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">operation</td><td>The read operation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadaaa62f2a826957ac10a75e4c2a5b739"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_MDIOWrite </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>phyAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>regAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">phyAddr</td><td>The PHY address. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">data</td><td>The data written to PHY. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success MDIO access succeeds. </dd>
<dd>
kStatus_Timeout MDIO access timeout. </dd></dl>
</div>
</div>
<a class="anchor" id="ga892febd8596edf39f3301551df9dcc2c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_MDIORead </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>phyAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>regAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>pData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">phyAddr</td><td>The PHY address. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register. Range from 0 ~ 31. </td></tr>
<tr><td class="paramname">pData</td><td>The data read from PHY. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success MDIO access succeeds. </dd>
<dd>
kStatus_Timeout MDIO access timeout. </dd></dl>
</div>
</div>
<a class="anchor" id="ga3be81738069472cacdf23d4d4630c68c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_StartExtC45SMIWriteReg </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>portAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>devAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>regAddr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After calling this function, need to check whether the transmission is over then do next MDIO operation. For ease of use, encapsulated <a class="el" href="a00025.html#ga610d4b0c009d03f06e208431ff1b9f33" title="MDIO write with IEEE802.3 Clause 45 format. ">ENET_MDIOC45Write()</a>/ENET_MDIOC45Read() can be called. For customized requirements, implement with combining separated APIs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">portAddr</td><td>The MDIO port address(PHY address). </td></tr>
<tr><td class="paramname">devAddr</td><td>The device address. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacc36d236821701ab448245009796c4b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_StartExtC45SMIWriteData </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>portAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>devAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After calling this function, need to check whether the transmission is over then do next MDIO operation. For ease of use, encapsulated <a class="el" href="a00025.html#ga610d4b0c009d03f06e208431ff1b9f33" title="MDIO write with IEEE802.3 Clause 45 format. ">ENET_MDIOC45Write()</a> can be called. For customized requirements, implement with combining separated APIs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">portAddr</td><td>The MDIO port address(PHY address). </td></tr>
<tr><td class="paramname">devAddr</td><td>The device address. </td></tr>
<tr><td class="paramname">data</td><td>The data written to PHY. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab9b5e10d43bf267bc32cc3019ac52338"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_StartExtC45SMIReadData </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>portAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>devAddr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After calling this function, need to check whether the transmission is over then do next MDIO operation. For ease of use, encapsulated <a class="el" href="a00025.html#ga4a900675299361505ed7992137ff9061" title="MDIO read with IEEE802.3 Clause 45 format. ">ENET_MDIOC45Read()</a> can be called. For customized requirements, implement with combining separated APIs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">portAddr</td><td>The MDIO port address(PHY address). </td></tr>
<tr><td class="paramname">devAddr</td><td>The device address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga610d4b0c009d03f06e208431ff1b9f33"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_MDIOC45Write </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>portAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>devAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>regAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">portAddr</td><td>The MDIO port address(PHY address). </td></tr>
<tr><td class="paramname">devAddr</td><td>The device address. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register address. </td></tr>
<tr><td class="paramname">data</td><td>The data written to PHY. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success MDIO access succeeds. </dd>
<dd>
kStatus_Timeout MDIO access timeout. </dd></dl>
</div>
</div>
<a class="anchor" id="ga4a900675299361505ed7992137ff9061"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_MDIOC45Read </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>portAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>devAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>regAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>pData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">portAddr</td><td>The MDIO port address(PHY address). </td></tr>
<tr><td class="paramname">devAddr</td><td>The device address. </td></tr>
<tr><td class="paramname">regAddr</td><td>The PHY register address. </td></tr>
<tr><td class="paramname">pData</td><td>The data read from PHY. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_Success MDIO access succeeds. </dd>
<dd>
kStatus_Timeout MDIO access timeout. </dd></dl>
</div>
</div>
<a class="anchor" id="ga924622a35ef81eaf69d4a4fd9302a7be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_SetMacAddr </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>macAddr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">macAddr</td><td>The six-byte Mac address pointer. The pointer is allocated by application and input into the API. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga89e5a62af8d1ebf7359faa1fc13b56bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_GetMacAddr </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>macAddr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">macAddr</td><td>The six-byte Mac address pointer. The pointer is allocated by application and input into the API. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5b9495b14a42f5b1ee24dcc5a6a9f227"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_AddMulticastGroup </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>address</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">address</td><td>The six-byte multicast group address which is provided by application. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2aa6b359b811460a6fb9a2588688bf30"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_LeaveMulticastGroup </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>address</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">address</td><td>The six-byte multicast group address which is provided by application. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6e067d2d9b41ad32ce7b32ecad8cefc3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_ActiveRead </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is to active the enet read process. </p>
<dl class="section note"><dt>Note</dt><dd>This must be called after the MAC configuration and state are ready. It must be called after the <a class="el" href="a00025.html#gaf110b83a0fc68e066e66f71761167e72" title="Initializes the ENET module. ">ENET_Init()</a>. This should be called when the frame reception is required.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9a7bb3eb9a6be017e21ce53f2343e8bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_EnableSleepMode </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is used to set the MAC enter sleep mode. When entering sleep mode, the magic frame wakeup interrupt should be enabled to wake up MAC from the sleep mode and reset it to normal mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>True enable sleep mode, false disable sleep mode. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8d32189b130fbca31cdee7ceb57bf543"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_GetAccelFunction </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>txAccelOption</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>rxAccelOption</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">txAccelOption</td><td>The transmit accelerator option. The "enet_tx_accelerator_t" is recommended to be used to as the mask to get the exact the accelerator option. </td></tr>
<tr><td class="paramname">rxAccelOption</td><td>The receive accelerator option. The "enet_rx_accelerator_t" is recommended to be used to as the mask to get the exact the accelerator option. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad9e530c5904c36e8f23fe22f8c63651b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_EnableInterrupts </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the ENET interrupt according to the provided mask. The mask is a logical OR of enumeration members. See <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. For example, to enable the TX frame interrupt and RX frame interrupt, do the following. </p>
<div class="fragment"><div class="line">* <a class="code" href="a00025.html#gad9e530c5904c36e8f23fe22f8c63651b">ENET_EnableInterrupts</a>(ENET, <a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f">kENET_TxFrameInterrupt</a> | <a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70">kENET_RxFrameInterrupt</a>);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>ENET interrupts to enable. This is a logical OR of the enumeration <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6a6f1de5e8f1dd09d217244899c3c8db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_DisableInterrupts </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the ENET interrupts according to the provided mask. The mask is a logical OR of enumeration members. See <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. For example, to disable the TX frame interrupt and RX frame interrupt, do the following. </p>
<div class="fragment"><div class="line">* <a class="code" href="a00025.html#ga6a6f1de5e8f1dd09d217244899c3c8db">ENET_DisableInterrupts</a>(ENET, <a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f">kENET_TxFrameInterrupt</a> | <a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70">kENET_RxFrameInterrupt</a>);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>ENET interrupts to disable. This is a logical OR of the enumeration <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9b9f5a57ff20ccf83fc8887c1bba2cec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t ENET_GetInterruptStatus </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The event status of the interrupt source. This is the logical OR of members of the enumeration <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga98676acb368ed3d238278b4ede220469"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ENET_ClearInterruptStatus </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function clears enabled ENET interrupts according to the provided mask. The mask is a logical OR of enumeration members. See the <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. For example, to clear the TX frame interrupt and RX frame interrupt, do the following. </p>
<div class="fragment"><div class="line">* <a class="code" href="a00025.html#ga98676acb368ed3d238278b4ede220469">ENET_ClearInterruptStatus</a>(ENET, <a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a7b2529920e9b97d937aa6b420bf1d51f">kENET_TxFrameInterrupt</a> | <a class="code" href="a00025.html#gga4e2e582474d9c2e86ea6edf16ef70c97a35d716ce614f33b7afbcf168922f1e70">kENET_RxFrameInterrupt</a>);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>ENET interrupt source to be cleared. This is the logical OR of members of the enumeration <a class="el" href="a00025.html#gae7828a7d773e0ba7e983e5e25ac9b158" title="List of interrupts supported by the peripheral. ">enet_interrupt_enable_t</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad0a49d18e9825a66351bc735400d0827"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_SetRxISRHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a>&#160;</td>
<td class="paramname"><em>ISRHandler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">ISRHandler</td><td>The handler to install. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga802e9706d0899a12ea01c9ac1c3ca12e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_SetTxISRHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a>&#160;</td>
<td class="paramname"><em>ISRHandler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">ISRHandler</td><td>The handler to install. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa4533115d3b695265422584bc6964756"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_SetErrISRHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#gad2a1cb1c771a59d8818aa2dfdaf6007f">enet_isr_t</a>&#160;</td>
<td class="paramname"><em>ISRHandler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">ISRHandler</td><td>The handler to install. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae8d5c96025f7b1b870e5eb20850dfa87"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_GetRxErrBeforeReadFrame </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#gabf72758c18e329d7db133eec827b1dc8">enet_data_error_stats_t</a> *&#160;</td>
<td class="paramname"><em>eErrorStatic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API must be called after the ENET_GetRxFrameSize and before the <a class="el" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f" title="Reads a frame from the ENET device. ">ENET_ReadFrame()</a>. If the ENET_GetRxFrameSize returns kStatus_ENET_RxFrameError, the ENET_GetRxErrBeforeReadFrame can be used to get the exact error statistics. This is an example. </p>
<div class="fragment"><div class="line">* status = <a class="code" href="a00025.html#gab60f9fac51313d5822274a20bb059307">ENET_GetRxFrameSize</a>(&amp;g_handle, &amp;length, 0);</div>
<div class="line">* <span class="keywordflow">if</span> (status == <a class="code" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9eaef1f945a6dc8fcf6267d57aac2a19f99">kStatus_ENET_RxFrameError</a>)</div>
<div class="line">* {</div>
<div class="line">* Comments: Get the error information of the received frame.</div>
<div class="line">* <a class="code" href="a00025.html#gae8d5c96025f7b1b870e5eb20850dfa87">ENET_GetRxErrBeforeReadFrame</a>(&amp;g_handle, &amp;eErrStatic, 0);</div>
<div class="line">* Comments: update the receive buffer.</div>
<div class="line">* <a class="code" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f">ENET_ReadFrame</a>(EXAMPLE_ENET, &amp;g_handle, NULL, 0);</div>
<div class="line">* }</div>
<div class="line">* </div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The ENET handler structure pointer. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">eErrorStatic</td><td>The error statistics structure pointer. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index, range from 0 ~ (FSL_FEATURE_ENET_INSTANCE_QUEUEn(x) - 1). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa9f83023f8f13cd9a7e61e49acda85da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_GetStatistics </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#ga04a3b3a37e6e9f99085044258f573ef7">enet_transfer_stats_t</a> *&#160;</td>
<td class="paramname"><em>statistics</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">statistics</td><td>The statistics structure pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab60f9fac51313d5822274a20bb059307"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_GetRxFrameSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gets a received frame size from the ENET buffer descriptors. </p>
<dl class="section note"><dt>Note</dt><dd>The FCS of the frame is automatically removed by MAC and the size is the length without the FCS. After calling ENET_GetRxFrameSize, <a class="el" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f" title="Reads a frame from the ENET device. ">ENET_ReadFrame()</a> should be called to receive frame and update the BD if the result is not "kStatus_ENET_RxFrameEmpty".</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The ENET handler structure. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">length</td><td>The length of the valid frame received. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_ENET_RxFrameEmpty</td><td>No frame received. Should not call ENET_ReadFrame to read frame. </td></tr>
<tr><td class="paramname">kStatus_ENET_RxFrameError</td><td>Data error happens. ENET_ReadFrame should be called with NULL data and NULL length to update the receive buffers. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Receive a frame Successfully then the ENET_ReadFrame should be called with the right data buffer and the captured data length input. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabcf878c71dccf0e4307abeb05c60067f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_ReadFrame </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>ts</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function reads a frame (both the data and the length) from the ENET buffer descriptors. User can get timestamp through ts pointer if the ts is not NULL. </p>
<dl class="section note"><dt>Note</dt><dd>It doesn't store the timestamp in the receive timestamp queue. The ENET_GetRxFrameSize should be used to get the size of the prepared data buffer. This API uses memcpy to copy data from DMA buffer to application buffer, 4 bytes aligned data buffer in 32 bits platforms provided by user may let compiler use optimization instruction to reduce time consumption. This is an example: <div class="fragment"><div class="line">* uint32_t length;</div>
<div class="line">* <a class="code" href="a00025.html#a00365">enet_handle_t</a> g_handle;</div>
<div class="line">* Comments: Get the received frame size firstly.</div>
<div class="line">* status = <a class="code" href="a00025.html#gab60f9fac51313d5822274a20bb059307">ENET_GetRxFrameSize</a>(&amp;g_handle, &amp;length, 0);</div>
<div class="line">* <span class="keywordflow">if</span> (length != 0)</div>
<div class="line">* {</div>
<div class="line">* Comments: Allocate memory here with the size of <span class="stringliteral">&quot;length&quot;</span></div>
<div class="line">* uint8_t *data = memory allocate interface;</div>
<div class="line">* <span class="keywordflow">if</span> (!data)</div>
<div class="line">* {</div>
<div class="line">* <a class="code" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f">ENET_ReadFrame</a>(ENET, &amp;g_handle, NULL, 0, 0, NULL);</div>
<div class="line">* Comments: Add the console warning log.</div>
<div class="line">* }</div>
<div class="line">* <span class="keywordflow">else</span></div>
<div class="line">* {</div>
<div class="line">* status = <a class="code" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f">ENET_ReadFrame</a>(ENET, &amp;g_handle, data, length, 0, NULL);</div>
<div class="line">* Comments: Call stack input API to deliver the data to stack</div>
<div class="line">* }</div>
<div class="line">* }</div>
<div class="line">* <span class="keywordflow">else</span> <span class="keywordflow">if</span> (status == <a class="code" href="a00025.html#gga05589fbab0657f08285ebdfe93f5ec9eaef1f945a6dc8fcf6267d57aac2a19f99">kStatus_ENET_RxFrameError</a>)</div>
<div class="line">* {</div>
<div class="line">* Comments: Update the received buffer when a error frame is received.</div>
<div class="line">* <a class="code" href="a00025.html#gabcf878c71dccf0e4307abeb05c60067f">ENET_ReadFrame</a>(ENET, &amp;g_handle, NULL, 0, 0, NULL);</div>
<div class="line">* }</div>
<div class="line">* </div>
</div><!-- fragment --> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler structure. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">data</td><td>The data buffer provided by user to store the frame which memory size should be at least "length". </td></tr>
<tr><td class="paramname">length</td><td>The size of the data buffer which is still the length of the received frame. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
<tr><td class="paramname">ts</td><td>The timestamp address to store received timestamp. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The execute status, successful or failure. </dd></dl>
</div>
</div>
<a class="anchor" id="ga420eb9f89621426669164f9ff3ded4b7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_SendFrame </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>tsFlag</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>context</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>The CRC is automatically appended to the data. Input the data to send without the CRC. This API uses memcpy to copy data from DMA buffer to application buffer, 4 bytes aligned data buffer in 32 bits platforms provided by user may let compiler use optimization instruction to reduce time consumption.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">data</td><td>The data buffer provided by user to send. </td></tr>
<tr><td class="paramname">length</td><td>The length of the data to send. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
<tr><td class="paramname">tsFlag</td><td>Timestamp enable flag. </td></tr>
<tr><td class="paramname">context</td><td>Used by user to handle some events after transmit over. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Send frame succeed. </td></tr>
<tr><td class="paramname">kStatus_ENET_TxFrameBusy</td><td>Transmit buffer descriptor is busy under transmission. The transmit busy happens when the data send rate is over the MAC capacity. The waiting mechanism is recommended to be added after each call return with kStatus_ENET_TxFrameBusy. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa63f1bef0380a6ee9370e9ed90020173"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_SetTxReclaim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isEnable</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function must be called when no pending send frame action. Set enable if you want to reclaim context or timestamp in interrupt.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The ENET handler pointer. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">isEnable</td><td>Enable or disable flag. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed to enable/disable Tx reclaim. </td></tr>
<tr><td class="paramname">kStatus_Fail</td><td>Fail to enable/disable Tx reclaim. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacf0fc8b978c83218ed677336e96b996b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_ReclaimTxDescriptor </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is used to update the tx descriptor status and store the tx timestamp when the 1588 feature is enabled. This is called by the transmit interupt IRQ handler after the complete of a frame transmission.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa91ebe63c861f928510c45cfce40f5a7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_GetRxFrame </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enet_rx_frame_struct_t *&#160;</td>
<td class="paramname"><em>rxFrame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function uses the user-defined allocation and free callbacks. Every time application gets one frame through this function, driver stores the buffer address(es) in enet_buffer_struct_t and allocate new buffer(s) for the BD(s). If there's no memory buffer in the pool, this function drops current one frame to keep the Rx frame in BD ring is as fresh as possible. </p>
<dl class="section note"><dt>Note</dt><dd>Application must provide a memory pool including at least BD number + n buffers in order for this function to work properly, because each BD must always take one buffer while driver is running, then other extra n buffer(s) can be taken by application. Here n is the ceil(max_frame_length(set by RCR) / bd_rx_size(set by MRBR)). Application must also provide an array structure in rxFrame-&gt;rxBuffArray with n index to receive one complete frame in any case.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">rxFrame</td><td>The received frame information structure provided by user. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed to get one frame and allocate new memory for Rx buffer. </td></tr>
<tr><td class="paramname">kStatus_ENET_RxFrameEmpty</td><td>There's no Rx frame in the BD. </td></tr>
<tr><td class="paramname">kStatus_ENET_RxFrameError</td><td>There's issue in this receiving. </td></tr>
<tr><td class="paramname">kStatus_ENET_RxFrameDrop</td><td>There's no new buffer memory for BD, drop this frame. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf1dfd6bda61a3f763940cc7c5fa8b144"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> ENET_StartTxFrame </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enet_tx_frame_struct_t *&#160;</td>
<td class="paramname"><em>txFrame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ringId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function supports scattered buffer transmit, user needs to provide the buffer array. </p>
<dl class="section note"><dt>Note</dt><dd>Tx reclaim should be enabled to ensure the Tx buffer ownership can be given back to application after Tx is over.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. This is the same handler pointer used in the ENET_Init. </td></tr>
<tr><td class="paramname">txFrame</td><td>The Tx frame structure. </td></tr>
<tr><td class="paramname">ringId</td><td>The ring index or ring number. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Succeed to send one frame. </td></tr>
<tr><td class="paramname">kStatus_ENET_TxFrameBusy</td><td>The BD is not ready for Tx or the reclaim operation still not finishs. </td></tr>
<tr><td class="paramname">kStatus_ENET_TxFrameOverLen</td><td>The Tx frame length is over max ethernet frame length. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga14ebe20169a322ceb9dcafef235b0afd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_TransmitIRQHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9a29168893ca340db8d452edac20040b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_ReceiveIRQHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga684127bd7163faf3458f07a021ceb448"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_ErrorIRQHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00025.html#a00365">enet_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>The ENET handler pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga41a060875b45dc4d9fed244371aab0d0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_Ptp1588IRQHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This is used for the 1588 timer interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9ec95f044ec27e9e0c5f060b856744d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENET_CommonFrame0IRQHandler </td>
<td>(</td>
<td class="paramtype">ENET_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This is used for the combined tx/rx/error interrupt for single/mutli-ring (frame 0).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENET peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga30dd2adf99ab913af9ba7a32734e4f8b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="a00012.html#gaf3dd76fcb181c1abd9eff8ddfc4f1c13">clock_ip_name_t</a> s_enetClock[]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>