add Doxygen documentation
[o-du/phy.git] / docs / API / xran__fh__o__du_8h.html
diff --git a/docs/API/xran__fh__o__du_8h.html b/docs/API/xran__fh__o__du_8h.html
new file mode 100644 (file)
index 0000000..fa478f8
--- /dev/null
@@ -0,0 +1,3003 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>o-du/phy: xran_fh_o_du.h File Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">o-du/phy
+   </div>
+   <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_5cc0cc0264b57168b75ca56bde6cc403.html">lib</a></li><li class="navelem"><a class="el" href="dir_7b477aa413287cfa2199e983b77d66dd.html">api</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">xran_fh_o_du.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. The O-DU controls the operation of O-RUs for 5G NR Radio Access technology.  
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
+<code>#include &lt;stdlib.h&gt;</code><br />
+<code>#include &lt;string.h&gt;</code><br />
+<code>#include &lt;stdint.h&gt;</code><br />
+<code>#include &lt;inttypes.h&gt;</code><br />
+<code>#include &lt;sys/types.h&gt;</code><br />
+<code>#include &lt;sys/queue.h&gt;</code><br />
+<code>#include &lt;netinet/in.h&gt;</code><br />
+<code>#include &lt;setjmp.h&gt;</code><br />
+<code>#include &lt;stdarg.h&gt;</code><br />
+<code>#include &lt;ctype.h&gt;</code><br />
+<code>#include &lt;errno.h&gt;</code><br />
+<code>#include &lt;getopt.h&gt;</code><br />
+<code>#include &lt;unistd.h&gt;</code><br />
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for xran_fh_o_du.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h__incl.png" border="0" usemap="#xran__fh__o__du_8h" alt=""/></div>
+<map name="xran__fh__o__du_8h" id="xran__fh__o__du_8h">
+</map>
+</div>
+</div><div class="textblock"><div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h__dep__incl.png" border="0" usemap="#xran__fh__o__du_8hdep" alt=""/></div>
+<map name="xran__fh__o__du_8hdep" id="xran__fh__o__du_8hdep">
+<area shape="rect" id="node2" href="common_8h.html" title="common.h" alt="" coords="132,80,215,107"/>
+<area shape="rect" id="node3" href="common_8c.html" title="common.c" alt="" coords="26,155,108,181"/>
+<area shape="rect" id="node5" href="sample-app_8c.html" title="sample&#45;app.c" alt="" coords="133,155,233,181"/>
+<area shape="rect" id="node6" href="config_8h.html" title="config.h" alt="" coords="306,80,374,107"/>
+<area shape="rect" id="node8" href="xran__cp__api_8h.html" title="This file provides the definitions for Control Plane Messages APIs. " alt="" coords="876,80,978,107"/>
+<area shape="rect" id="node9" href="xran__app__frag_8h.html" title="Header file for functions to perform application level fragmentation. " alt="" coords="1574,155,1688,181"/>
+<area shape="rect" id="node11" href="xran__main_8c.html" title="XRAN main functionality module. " alt="" coords="2026,229,2119,256"/>
+<area shape="rect" id="node12" href="xran__common_8h.html" title="XRAN layer common functionality for both lls&#45;CU and RU as well as C&#45;plane and U&#45;plane. " alt="" coords="1384,155,1499,181"/>
+<area shape="rect" id="node15" href="xran__timer_8c.html" title="This file provides implementation to Timing for XRAN. " alt="" coords="2597,229,2692,256"/>
+<area shape="rect" id="node16" href="xran__transport_8c.html" title="This file provides the implementation for Transport lyaer (eCPRI) API. " alt="" coords="688,229,804,256"/>
+<area shape="rect" id="node18" href="xran__lib__wrap_8hpp.html" title="xran_lib_wrap.hpp" alt="" coords="2144,229,2270,256"/>
+<area shape="rect" id="node20" href="c__plane__tests_8cc.html" title="c_plane_tests.cc" alt="" coords="1185,304,1306,331"/>
+<area shape="rect" id="node21" href="chain__tests_8cc.html" title="chain_tests.cc" alt="" coords="1384,304,1491,331"/>
+<area shape="rect" id="node22" href="init__sys__functional_8cc.html" title="init_sys_functional.cc" alt="" coords="2225,304,2373,331"/>
+<area shape="rect" id="node23" href="prach__functional_8cc.html" title="prach_functional.cc" alt="" coords="477,229,612,256"/>
+<area shape="rect" id="node24" href="prach__performance_8cc.html" title="prach_performance.cc" alt="" coords="1057,229,1208,256"/>
+<area shape="rect" id="node25" href="u__plane__functional_8cc.html" title="u_plane_functional.cc" alt="" coords="1665,229,1813,256"/>
+<area shape="rect" id="node26" href="u__plane__performance_8cc.html" title="u_plane_performance.cc" alt="" coords="1837,229,2001,256"/>
+<area shape="rect" id="node27" href="ethdi_8h.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="2699,155,2760,181"/>
+<area shape="rect" id="node28" href="ethdi_8c.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="2972,229,3034,256"/>
+<area shape="rect" id="node30" href="xran__frame__struct_8h.html" title="Header file for function to work with 5G NR frame structure and related routines. ..." alt="" coords="2010,155,2148,181"/>
+<area shape="rect" id="node32" href="xran__up__api_8c.html" title="This file provides the implementation of User Plane Messages APIs. " alt="" coords="3109,80,3212,107"/>
+<area shape="rect" id="node33" href="compander__functional_8cc.html" title="compander_functional.cc" alt="" coords="3236,80,3402,107"/>
+<area shape="rect" id="node4" href="config_8c.html" title="config.c" alt="" coords="237,229,305,256"/>
+<area shape="rect" id="node7" href="debug_8h.html" title="debug.h" alt="" coords="309,155,377,181"/>
+<area shape="rect" id="node10" href="xran__app__frag_8c.html" title="xRAN application frgamentation for U&#45;plane packets " alt="" coords="1526,229,1640,256"/>
+<area shape="rect" id="node14" href="xran__cp__api_8c.html" title="This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as def..." alt="" coords="930,229,1033,256"/>
+<area shape="rect" id="node13" href="xran__common_8c.html" title="XRAN layer common functionality for both O&#45;DU and O&#45;RU as well as C&#45;plane and U&#45;plane. " alt="" coords="2458,229,2572,256"/>
+<area shape="rect" id="node17" href="xran__ul__tables_8c.html" title="This file defines those table used in 5G NR spec. " alt="" coords="1283,229,1400,256"/>
+<area shape="rect" id="node19" href="xranlib__unit__test__main_8cc.html" title="xranlib_unit_test_main.cc" alt="" coords="2030,304,2200,331"/>
+<area shape="rect" id="node29" href="ethernet_8c.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="2868,229,2948,256"/>
+<area shape="rect" id="node31" href="xran__frame__struct_8c.html" title="xran_frame_struct.c" alt="" coords="2295,229,2434,256"/>
+</map>
+</div>
+</div>
+<p><a href="xran__fh__o__du_8h_source.html">Go to the source code of this file.</a></p>
+<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:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__cb__tag.html">xran_cb_tag</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__io__cfg.html">xran_io_cfg</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__eaxcid__config.html">xran_eaxcid_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__fh__init.html">xran_fh_init</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__cp__bf__weight.html">xran_cp_bf_weight</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__cp__bf__attribute.html">xran_cp_bf_attribute</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__cp__bf__precoding.html">xran_cp_bf_precoding</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__section__desc.html">xran_section_desc</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__prb__elm.html">xran_prb_elm</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__prb__map.html">xran_prb_map</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__prach__config.html">xran_prach_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__srs__config.html">xran_srs_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__slot__config.html">xran_slot_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__frame__config.html">xran_frame_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__ru__config.html">xran_ru_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__fh__config.html">xran_fh_config</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__common__counters.html">xran_common_counters</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__flat__buffer.html">xran_flat_buffer</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__buffer__list.html">xran_buffer_list</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="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a814959a7b5ff6cd4474433f62312eee0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>&#160;&#160;&#160;(0)</td></tr>
+<tr class="separator:a814959a7b5ff6cd4474433f62312eee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a957453875309739caacdd651bdab75"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a4a957453875309739caacdd651bdab75">XRAN_STATUS_FAIL</a>&#160;&#160;&#160;(-1)</td></tr>
+<tr class="separator:a4a957453875309739caacdd651bdab75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a746b130d3c5db158af75c32c240183fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a746b130d3c5db158af75c32c240183fc">XRAN_STATUS_RETRY</a>&#160;&#160;&#160;(-2)</td></tr>
+<tr class="separator:a746b130d3c5db158af75c32c240183fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a341e6485fd9de350805503e938f90708"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a341e6485fd9de350805503e938f90708">XRAN_STATUS_RESOURCE</a>&#160;&#160;&#160;(-3)</td></tr>
+<tr class="separator:a341e6485fd9de350805503e938f90708"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad8a35383b986f4ca80437468b6c625f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aad8a35383b986f4ca80437468b6c625f">XRAN_STATUS_INVALID_PARAM</a>&#160;&#160;&#160;(-4)</td></tr>
+<tr class="separator:aad8a35383b986f4ca80437468b6c625f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace75e6583c9238fc2f957c3cc9b92ec4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ace75e6583c9238fc2f957c3cc9b92ec4">XRAN_STATUS_FATAL</a>&#160;&#160;&#160;(-5)</td></tr>
+<tr class="separator:ace75e6583c9238fc2f957c3cc9b92ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45590c7e932d3d78451dd72d2cbf5454"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a45590c7e932d3d78451dd72d2cbf5454">XRAN_STATUS_UNSUPPORTED</a>&#160;&#160;&#160;(-6)</td></tr>
+<tr class="separator:a45590c7e932d3d78451dd72d2cbf5454"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6602a966370956b35631e68698539cac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a6602a966370956b35631e68698539cac">XRAN_STATUS_INVALID_PACKET</a>&#160;&#160;&#160;(-7)</td></tr>
+<tr class="separator:a6602a966370956b35631e68698539cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa76014e778bb54907d85e05cac204d71"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aa76014e778bb54907d85e05cac204d71">XranGetTtiNum</a>(symIdx,  numSymPerTti)&#160;&#160;&#160;(((uint32_t)symIdx / (uint32_t)numSymPerTti))</td></tr>
+<tr class="separator:aa76014e778bb54907d85e05cac204d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a605ecc3c0ad6066e39465a108b873373"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a605ecc3c0ad6066e39465a108b873373">XranGetSymNum</a>(symIdx,  numSymPerTti)&#160;&#160;&#160;(((uint32_t)symIdx % (uint32_t)numSymPerTti))</td></tr>
+<tr class="separator:a605ecc3c0ad6066e39465a108b873373"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a8a3a7c7c4ff43865b57971dfbf0aa6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a5a8a3a7c7c4ff43865b57971dfbf0aa6">XranGetFrameNum</a>(tti,  SFNatSecStart,  numSubFramePerSystemFrame,  numSlotPerSubFrame)&#160;&#160;&#160;((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) &amp; 0x3FF)</td></tr>
+<tr class="separator:a5a8a3a7c7c4ff43865b57971dfbf0aa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ca2a2076a042acdca2e326a436a7882"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a5ca2a2076a042acdca2e326a436a7882">XranGetSubFrameNum</a>(tti,  numSlotPerSubFrame,  numSubFramePerSystemFrame)&#160;&#160;&#160;(((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame)</td></tr>
+<tr class="separator:a5ca2a2076a042acdca2e326a436a7882"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36c7ae37e30524321b18fde971372b92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a36c7ae37e30524321b18fde971372b92">XranGetSlotNum</a>(tti,  numSlotPerSfn)&#160;&#160;&#160;((uint32_t)tti % ((uint32_t)numSlotPerSfn))</td></tr>
+<tr class="separator:a36c7ae37e30524321b18fde971372b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1e23b437693cb93f1ddd5a74f97cab4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4">XRAN_PORTS_NUM</a>&#160;&#160;&#160;(1)</td></tr>
+<tr class="separator:ac1e23b437693cb93f1ddd5a74f97cab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0963ba32cc8ecd280afd2e474eb426a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>&#160;&#160;&#160;(40)</td></tr>
+<tr class="separator:af0963ba32cc8ecd280afd2e474eb426a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34dbe5e515cc78b4ce26fa287e6c1edc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>&#160;&#160;&#160;(12)</td></tr>
+<tr class="separator:a34dbe5e515cc78b4ce26fa287e6c1edc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35fa05e7523928c0c86cbcf835c12dc5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>&#160;&#160;&#160;(16)</td></tr>
+<tr class="separator:a35fa05e7523928c0c86cbcf835c12dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42f4a51ad2109eb30e8cbefcde747e92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a42f4a51ad2109eb30e8cbefcde747e92">XRAN_MAX_PANEL_NR</a>&#160;&#160;&#160;(1)</td></tr>
+<tr class="separator:a42f4a51ad2109eb30e8cbefcde747e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78d58409e31b11cd5b3512f52c6556ac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a78d58409e31b11cd5b3512f52c6556ac">XRAN_MAX_TRX_ANTENNA_ARRAY</a>&#160;&#160;&#160;(1)</td></tr>
+<tr class="separator:a78d58409e31b11cd5b3512f52c6556ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3e0ced3530652b3c92220c8783b55fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#af3e0ced3530652b3c92220c8783b55fa">XRAN_MAX_ANT_ARRAY_ELM_NR</a>&#160;&#160;&#160;(64)</td></tr>
+<tr class="separator:af3e0ced3530652b3c92220c8783b55fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87d92ec177ed9c388685a91051f66205"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>&#160;&#160;&#160;(14)</td></tr>
+<tr class="separator:a87d92ec177ed9c388685a91051f66205"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a9b0521b0d67ed1e761047b2a929422"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a6a9b0521b0d67ed1e761047b2a929422">XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT</a>&#160;&#160;&#160;<a class="el" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a></td></tr>
+<tr class="separator:a6a9b0521b0d67ed1e761047b2a929422"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba79881ec9b30850184b4f5f6b0afc39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aba79881ec9b30850184b4f5f6b0afc39">XRAN_MAX_TDD_PERIODICITY</a>&#160;&#160;&#160;(80)</td></tr>
+<tr class="separator:aba79881ec9b30850184b4f5f6b0afc39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6447bf8849000b9fecf51d77d4fa50b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a6447bf8849000b9fecf51d77d4fa50b2">XRAN_MAX_CELLS_PER_PORT</a>&#160;&#160;&#160;(<a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>)</td></tr>
+<tr class="separator:a6447bf8849000b9fecf51d77d4fa50b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad366e06c49d56ecfe336917a71236554"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad366e06c49d56ecfe336917a71236554">XRAN_COMPONENT_CARRIERS_MAX</a>&#160;&#160;&#160;(<a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>)</td></tr>
+<tr class="separator:ad366e06c49d56ecfe336917a71236554"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93482eb351961fb07e09d913701dd033"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a93482eb351961fb07e09d913701dd033">XRAN_NUM_OF_ANT_RADIO</a>&#160;&#160;&#160;(<a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>*<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>)</td></tr>
+<tr class="separator:a93482eb351961fb07e09d913701dd033"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9435009d03a49d495b2b608129c64b61"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a9435009d03a49d495b2b608129c64b61">XRAN_MAX_PRBS</a>&#160;&#160;&#160;(275)</td></tr>
+<tr class="separator:a9435009d03a49d495b2b608129c64b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa099ceebb1479cddef1ee64f5c311973"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973">XRAN_MAX_SECTIONS_PER_SYM</a>&#160;&#160;&#160;(16)</td></tr>
+<tr class="separator:aa099ceebb1479cddef1ee64f5c311973"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a579cae10a206d64b2810a7df8a66f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a5a579cae10a206d64b2810a7df8a66f6">XRAN_MAX_PKT_BURST</a>&#160;&#160;&#160;(448+4)</td></tr>
+<tr class="separator:a5a579cae10a206d64b2810a7df8a66f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1cc410c971930e1972f329c5130c886"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad1cc410c971930e1972f329c5130c886">XRAN_N_MAX_BUFFER_SEGMENT</a>&#160;&#160;&#160;<a class="el" href="xran__fh__o__du_8h.html#a5a579cae10a206d64b2810a7df8a66f6">XRAN_MAX_PKT_BURST</a></td></tr>
+<tr class="separator:ad1cc410c971930e1972f329c5130c886"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1cd6517de77baee725c67b3e5bd417c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ac1cd6517de77baee725c67b3e5bd417c">XRAN_STRICT_PARM_CHECK</a>&#160;&#160;&#160;(1)</td></tr>
+<tr class="separator:ac1cd6517de77baee725c67b3e5bd417c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81efa76a214d1fd1b9b409bdea15c87c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a81efa76a214d1fd1b9b409bdea15c87c">XRAN_SLOT_TYPE_INVALID</a>&#160;&#160;&#160;(0)</td></tr>
+<tr class="separator:a81efa76a214d1fd1b9b409bdea15c87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3640d50cafb5ccc15b73219309f60a3b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a3640d50cafb5ccc15b73219309f60a3b">XRAN_SLOT_TYPE_DL</a>&#160;&#160;&#160;(1)</td></tr>
+<tr class="separator:a3640d50cafb5ccc15b73219309f60a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3167443dbf786f9b87a133119a8f69e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a3167443dbf786f9b87a133119a8f69e8">XRAN_SLOT_TYPE_UL</a>&#160;&#160;&#160;(2)</td></tr>
+<tr class="separator:a3167443dbf786f9b87a133119a8f69e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37ddab95bdd53de1ee17a3607a183eae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a37ddab95bdd53de1ee17a3607a183eae">XRAN_SLOT_TYPE_SP</a>&#160;&#160;&#160;(3)</td></tr>
+<tr class="separator:a37ddab95bdd53de1ee17a3607a183eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad997c19049d5e80611e4360b1ed79b80"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad997c19049d5e80611e4360b1ed79b80">XRAN_SLOT_TYPE_FDD</a>&#160;&#160;&#160;(4)</td></tr>
+<tr class="separator:ad997c19049d5e80611e4360b1ed79b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a581b66d2fea333f0a2e9ca3f9589fd89"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a581b66d2fea333f0a2e9ca3f9589fd89">XRAN_SLOT_TYPE_LAST</a>&#160;&#160;&#160;(5)</td></tr>
+<tr class="separator:a581b66d2fea333f0a2e9ca3f9589fd89"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7db41b67e2cd3be904b7332d8df6657"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aa7db41b67e2cd3be904b7332d8df6657">XRAN_SYMBOL_TYPE_DL</a>&#160;&#160;&#160;(0)</td></tr>
+<tr class="separator:aa7db41b67e2cd3be904b7332d8df6657"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78bce62effeb80d1e2bda74c6ee3d5f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a78bce62effeb80d1e2bda74c6ee3d5f4">XRAN_SYMBOL_TYPE_UL</a>&#160;&#160;&#160;(1)</td></tr>
+<tr class="separator:a78bce62effeb80d1e2bda74c6ee3d5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e0df6a907cf2724cf3e531d7f18fb3c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a0e0df6a907cf2724cf3e531d7f18fb3c">XRAN_SYMBOL_TYPE_GUARD</a>&#160;&#160;&#160;(2)</td></tr>
+<tr class="separator:a0e0df6a907cf2724cf3e531d7f18fb3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7915d813606499af39f5e952391fded"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ac7915d813606499af39f5e952391fded">XRAN_SYMBOL_TYPE_FDD</a>&#160;&#160;&#160;(3)</td></tr>
+<tr class="separator:ac7915d813606499af39f5e952391fded"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd3869dff9738650c847e456c6ab21ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#acd3869dff9738650c847e456c6ab21ae">XRAN_NUM_OF_SLOT_IN_TDD_LOOP</a>&#160;&#160;&#160;(80)</td></tr>
+<tr class="separator:acd3869dff9738650c847e456c6ab21ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb623b32cb8644414383af3de60433d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8">xran_log_dbg</a>(fmt, ...)</td></tr>
+<tr class="separator:adb623b32cb8644414383af3de60433d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb623b32cb8644414383af3de60433d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8">xran_log_dbg</a>(fmt, ...)</td></tr>
+<tr class="separator:adb623b32cb8644414383af3de60433d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f97ad3d53e73a2807e3b2cf097e267a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a8f97ad3d53e73a2807e3b2cf097e267a">xran_log_wrn</a>(fmt, ...)</td></tr>
+<tr class="separator:a8f97ad3d53e73a2807e3b2cf097e267a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02b163e2e7f90f2c7941fdcb19ebcb3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a02b163e2e7f90f2c7941fdcb19ebcb3e">xran_log_err</a>(fmt, ...)</td></tr>
+<tr class="separator:a02b163e2e7f90f2c7941fdcb19ebcb3e"><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:aa3ceca070f84e316e0e2f6002419d572"><td class="memItemLeft" align="right" valign="top">typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a></td></tr>
+<tr class="separator:aa3ceca070f84e316e0e2f6002419d572"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2e55b4fa82ed8c7f00e083b0406c6c8"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">xran_callback_sym_fn</a>) (void *)</td></tr>
+<tr class="separator:ad2e55b4fa82ed8c7f00e083b0406c6c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af48a00f171ef7a017fddd2a29f9854d0"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a>) (void *)</td></tr>
+<tr class="separator:af48a00f171ef7a017fddd2a29f9854d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad52207145e383ae136995f5a2b7dd82d"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a>) (void *, <a class="el" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a>)</td></tr>
+<tr class="separator:ad52207145e383ae136995f5a2b7dd82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adce425900af03693ff55da9deb17a679"><td class="memItemLeft" align="right" valign="top">typedef int16_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679">phy_encoder_poll_fn</a>) (void)</td></tr>
+<tr class="separator:adce425900af03693ff55da9deb17a679"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c1d5f131c5a23d8339f1babb3b22ade"><td class="memItemLeft" align="right" valign="top">typedef int16_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade">phy_decoder_poll_fn</a>) (void)</td></tr>
+<tr class="separator:a2c1d5f131c5a23d8339f1babb3b22ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe623da85d4542bce592f333046e2c81"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">xran_cc_handle_t</a></td></tr>
+<tr class="separator:afe623da85d4542bce592f333046e2c81"><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:a1784f85d62401cba0ffb49c4d2467aae"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae">XranFrameDuplexType</a> { <a class="el" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0">XRAN_FDD</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08">XRAN_TDD</a>
+ }</td></tr>
+<tr class="separator:a1784f85d62401cba0ffb49c4d2467aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f600110ab5726a0f21375b7f24c0326"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a> { <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080">XRAN_INIT</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e">XRAN_RUNNING</a>, 
+<a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a>
+ }</td></tr>
+<tr class="separator:a2f600110ab5726a0f21375b7f24c0326"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc082593977ad91f3dcdd2175cb74615"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615">xran_compression_method</a> { <br />
+&#160;&#160;<a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">XRAN_COMPMETHOD_NONE</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28">XRAN_COMPMETHOD_BLKFLOAT</a> = 1, 
+<a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76">XRAN_COMPMETHOD_BLKSCALE</a> = 2, 
+<a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713">XRAN_COMPMETHOD_ULAW</a> = 3, 
+<br />
+&#160;&#160;<a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c">XRAN_COMPMETHOD_MODULATION</a> = 4, 
+<a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae">XRAN_COMPMETHOD_MAX</a>
+<br />
+ }</td></tr>
+<tr class="separator:afc082593977ad91f3dcdd2175cb74615"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8eb67099ddcb1b5877a494edfd450d24"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">callback_to_phy_id</a> { <a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a> =1, 
+<a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a> =2, 
+<a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d">XRAN_CB_MAX</a>
+ }</td></tr>
+<tr class="separator:a8eb67099ddcb1b5877a494edfd450d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80cd33d519d5b1993e2a1de8b78b3059"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059">xran_weight_based_beamforming_type</a> { <a class="el" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3">XRAN_BF_T_FREQUENCY</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d">XRAN_BF_T_TIME</a> = 1, 
+<a class="el" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb">XRAN_BF_T_HYBRID</a> = 2, 
+<a class="el" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003">XRAN_BF_T_MAX</a>
+ }</td></tr>
+<tr class="separator:a80cd33d519d5b1993e2a1de8b78b3059"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a185d8ae20c697568878935f0a260227a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a">xran_vf_ports</a> { <a class="el" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab">XRAN_UP_VF</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a">XRAN_CP_VF</a>, 
+<a class="el" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac">XRAN_VF_MAX</a>
+ }</td></tr>
+<tr class="separator:a185d8ae20c697568878935f0a260227a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf0211a253f5881ebad3910cef98d30e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a> { <a class="el" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a> = 1, 
+<a class="el" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561">XRAN_CATEGORY_MAX</a>
+ }</td></tr>
+<tr class="separator:abf0211a253f5881ebad3910cef98d30e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab78adb73387ef66b18318c2425be2f27"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27">xran_beamforming_type</a> { <a class="el" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">XRAN_BEAM_ID_BASED</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">XRAN_BEAM_WEIGHT</a>, 
+<a class="el" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd">XRAN_BEAM_ATTRIBUTE</a>
+ }</td></tr>
+<tr class="separator:ab78adb73387ef66b18318c2425be2f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c62e469317040d695487f294cf9e0ba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba">xran_bbdev_init</a> { <a class="el" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">XRAN_BBDEV_NOT_USED</a> = -1, 
+<a class="el" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0">XRAN_BBDEV_MODE_HW_OFF</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39">XRAN_BBDEV_MODE_HW_ON</a> = 1, 
+<a class="el" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09">XRAN_BBDEV_MODE_MAX</a>
+ }</td></tr>
+<tr class="separator:a4c62e469317040d695487f294cf9e0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5ce6839bae2968c79930a0bfa17f4d8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a> { <a class="el" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8">XRAN_NE_BE_BYTE_ORDER</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098">XRAN_CPU_LE_BYTE_ORDER</a>
+ }</td></tr>
+<tr class="separator:ab5ce6839bae2968c79930a0bfa17f4d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d9cb4cebbc59a8fa5bfef7547898859"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859">xran_input_i_q_order</a> { <a class="el" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21">XRAN_I_Q_ORDER</a> = 0, 
+<a class="el" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3">XRAN_Q_I_ORDER</a>
+ }</td></tr>
+<tr class="separator:a0d9cb4cebbc59a8fa5bfef7547898859"><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:a3efe8aba779b0a2f90adc02065579f5f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f">xran_init</a> (int argc, char *argv[], struct <a class="el" href="structxran__fh__init.html">xran_fh_init</a> *p_xran_fh_init, char *appName, void **pHandle)</td></tr>
+<tr class="separator:a3efe8aba779b0a2f90adc02065579f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf5ead6a9f90b5d524e8012521d64bb5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5">xran_sector_get_instances</a> (void *pHandle, uint16_t nNumInstances, <a class="el" href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">xran_cc_handle_t</a> *pSectorInstanceHandles)</td></tr>
+<tr class="separator:adf5ead6a9f90b5d524e8012521d64bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a999189549fd6b524b733ddd61f1f9962"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962">xran_mm_init</a> (void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)</td></tr>
+<tr class="separator:a999189549fd6b524b733ddd61f1f9962"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39a9f7b5d01979eb1f8d806d6b9c50fe"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a> (void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)</td></tr>
+<tr class="separator:a39a9f7b5d01979eb1f8d806d6b9c50fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae79ca138dc77d69ef692886be4e5da81"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a> (void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)</td></tr>
+<tr class="separator:ae79ca138dc77d69ef692886be4e5da81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f904fe772b55bcfc449759a23063aa3"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a0f904fe772b55bcfc449759a23063aa3">xran_bm_free_buffer</a> (void *pHandle, void *pData, void *pCtrl)</td></tr>
+<tr class="separator:a0f904fe772b55bcfc449759a23063aa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4120602c15ddabfc3372e238d17f0414"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a4120602c15ddabfc3372e238d17f0414">xran_mm_destroy</a> (void *pHandle)</td></tr>
+<tr class="separator:a4120602c15ddabfc3372e238d17f0414"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac94e2474beef3b68521cfd391211b1be"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be">xran_5g_fronthault_config</a> (void *pHandle, struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *pSrcBuffer[<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][<a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>], struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *pSrcCpBuffer[<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][<a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>], struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstBuffer[<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][<a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>], struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstCpBuffer[<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][<a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>], <a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a> pCallback, void *pCallbackTag)</td></tr>
+<tr class="separator:ac94e2474beef3b68521cfd391211b1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab204e979de14c21d34e9b88c6c700d25"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25">xran_5g_prach_req</a> (void *pHandle, struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstBuffer[<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][<a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>], <a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a> pCallback, void *pCallbackTag)</td></tr>
+<tr class="separator:ab204e979de14c21d34e9b88c6c700d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bd01fc3432f80a787d6bf317949dd80"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a2bd01fc3432f80a787d6bf317949dd80">xran_5g_srs_req</a> (void *pHandle, struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstBuffer[<a class="el" href="xran__fh__o__du_8h.html#af3e0ced3530652b3c92220c8783b55fa">XRAN_MAX_ANT_ARRAY_ELM_NR</a>][<a class="el" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>], <a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a> pCallback, void *pCallbackTag)</td></tr>
+<tr class="separator:a2bd01fc3432f80a787d6bf317949dd80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5d259c362d10b47c233b5098052cbf2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ac5d259c362d10b47c233b5098052cbf2">xran_get_time_stats</a> (uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)</td></tr>
+<tr class="separator:ac5d259c362d10b47c233b5098052cbf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03f408f45e97aa68ca47c92e4e7d1a70"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70">xran_open</a> (void *pHandle, struct <a class="el" href="structxran__fh__config.html">xran_fh_config</a> *pConf)</td></tr>
+<tr class="separator:a03f408f45e97aa68ca47c92e4e7d1a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4852c0827600db95f9841e2f5f9f6f1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1">xran_start</a> (void *pHandle)</td></tr>
+<tr class="separator:ad4852c0827600db95f9841e2f5f9f6f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f2daee2fe90126f1f7c361b7760a7a3"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3">xran_stop</a> (void *pHandle)</td></tr>
+<tr class="separator:a8f2daee2fe90126f1f7c361b7760a7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f8866c9d6536a56e4d8232b8c45808b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b">xran_close</a> (void *pHandle)</td></tr>
+<tr class="separator:a2f8866c9d6536a56e4d8232b8c45808b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfcabe4091a4782ecb9ca029314c99ca"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#adfcabe4091a4782ecb9ca029314c99ca">xran_reg_sym_cb</a> (void *pHandle, <a class="el" href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">xran_callback_sym_fn</a> symCb, void *symCbParam, uint8_t symb, uint8_t <a class="el" href="gen__test_8m.html#a38d2cdf58cc777c61b71dd2785d139af">ant</a>)</td></tr>
+<tr class="separator:adfcabe4091a4782ecb9ca029314c99ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8354b56b0be4be47c44a8a5c38db86e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a> (void *pHandle, <a class="el" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a> Cb, void *cbParam, int skipTtiNum, enum <a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">callback_to_phy_id</a>)</td></tr>
+<tr class="separator:aa8354b56b0be4be47c44a8a5c38db86e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2816fdf0ed3269e998720d01c2b6bf76"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a2816fdf0ed3269e998720d01c2b6bf76">xran_get_slot_idx</a> (uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)</td></tr>
+<tr class="separator:a2816fdf0ed3269e998720d01c2b6bf76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac153c5a3e3f4f64ab0fafca6f593c380"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ac153c5a3e3f4f64ab0fafca6f593c380">xran_get_common_counters</a> (void *pXranLayerHandle, struct <a class="el" href="structxran__common__counters.html">xran_common_counters</a> *pStats)</td></tr>
+<tr class="separator:ac153c5a3e3f4f64ab0fafca6f593c380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a937105f52446cfcb951e43e1dc3c4d8b"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b">xran_get_if_state</a> (void)</td></tr>
+<tr class="separator:a937105f52446cfcb951e43e1dc3c4d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad32fb64c20521dbcfeb317e143046e27"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#ad32fb64c20521dbcfeb317e143046e27">xran_malloc</a> (size_t buf_len)</td></tr>
+<tr class="separator:ad32fb64c20521dbcfeb317e143046e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68b53cf51fb3aee4a6d8be54d540965a"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__fh__o__du_8h.html#a68b53cf51fb3aee4a6d8be54d540965a">xran_add_hdr_offset</a> (uint8_t *dst, int16_t compMethod)</td></tr>
+<tr class="separator:a68b53cf51fb3aee4a6d8be54d540965a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. The O-DU controls the operation of O-RUs for 5G NR Radio Access technology. </p>
+<dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="ad366e06c49d56ecfe336917a71236554"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad366e06c49d56ecfe336917a71236554">&#9670;&nbsp;</a></span>XRAN_COMPONENT_CARRIERS_MAX</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_COMPONENT_CARRIERS_MAX&#160;&#160;&#160;(<a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>number of CCs </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00126">126</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="adb623b32cb8644414383af3de60433d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb623b32cb8644414383af3de60433d8">&#9670;&nbsp;</a></span>xran_log_dbg <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define xran_log_dbg</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">fmt, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00174">174</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="adb623b32cb8644414383af3de60433d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb623b32cb8644414383af3de60433d8">&#9670;&nbsp;</a></span>xran_log_dbg <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define xran_log_dbg</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">fmt, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00174">174</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a02b163e2e7f90f2c7941fdcb19ebcb3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a02b163e2e7f90f2c7941fdcb19ebcb3e">&#9670;&nbsp;</a></span>xran_log_err</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define xran_log_err</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">fmt, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">fprintf(stderr,                     \</div><div class="line">        <span class="stringliteral">&quot;ERROR: %s(%d): &quot;</span> fmt <span class="stringliteral">&quot;\n&quot;</span>,     \</div><div class="line">        __FILE__,                       \</div><div class="line">        __LINE__, ##__VA_ARGS__)</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00178">178</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a8f97ad3d53e73a2807e3b2cf097e267a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f97ad3d53e73a2807e3b2cf097e267a">&#9670;&nbsp;</a></span>xran_log_wrn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define xran_log_wrn</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">fmt, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00175">175</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="af3e0ced3530652b3c92220c8783b55fa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3e0ced3530652b3c92220c8783b55fa">&#9670;&nbsp;</a></span>XRAN_MAX_ANT_ARRAY_ELM_NR</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_ANT_ARRAY_ELM_NR&#160;&#160;&#160;(64)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Maximum number of Antenna Array Elemets in Antenna Array in the O-RU </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00118">118</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a35fa05e7523928c0c86cbcf835c12dc5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35fa05e7523928c0c86cbcf835c12dc5">&#9670;&nbsp;</a></span>XRAN_MAX_ANTENNA_NR</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_ANTENNA_NR&#160;&#160;&#160;(16)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max number of extended Antenna-Carriers: a data flow for a single antenna (or spatial stream) for a single carrier in a single sector </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00111">111</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a6447bf8849000b9fecf51d77d4fa50b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6447bf8849000b9fecf51d77d4fa50b2">&#9670;&nbsp;</a></span>XRAN_MAX_CELLS_PER_PORT</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_CELLS_PER_PORT&#160;&#160;&#160;(<a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max cells mapped to XRAN port </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00125">125</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a6a9b0521b0d67ed1e761047b2a929422"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a9b0521b0d67ed1e761047b2a929422">&#9670;&nbsp;</a></span>XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT&#160;&#160;&#160;<a class="el" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max Number of SRS symbols per slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00123">123</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a42f4a51ad2109eb30e8cbefcde747e92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a42f4a51ad2109eb30e8cbefcde747e92">&#9670;&nbsp;</a></span>XRAN_MAX_PANEL_NR</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_PANEL_NR&#160;&#160;&#160;(1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max number of Panels supported per O-RU </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00116">116</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a5a579cae10a206d64b2810a7df8a66f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a579cae10a206d64b2810a7df8a66f6">&#9670;&nbsp;</a></span>XRAN_MAX_PKT_BURST</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_PKT_BURST&#160;&#160;&#160;(448+4)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>4x14x8 symbols per ms </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00132">132</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a9435009d03a49d495b2b608129c64b61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9435009d03a49d495b2b608129c64b61">&#9670;&nbsp;</a></span>XRAN_MAX_PRBS</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_PRBS&#160;&#160;&#160;(275)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max of PRBs per CC per antanna for 5G NR </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00128">128</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="aa099ceebb1479cddef1ee64f5c311973"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa099ceebb1479cddef1ee64f5c311973">&#9670;&nbsp;</a></span>XRAN_MAX_SECTIONS_PER_SYM</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_SECTIONS_PER_SYM&#160;&#160;&#160;(16)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max number of different sections in single symbol (section is equal to RB allocation for UE) </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00130">130</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a34dbe5e515cc78b4ce26fa287e6c1edc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34dbe5e515cc78b4ce26fa287e6c1edc">&#9670;&nbsp;</a></span>XRAN_MAX_SECTOR_NR</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_SECTOR_NR&#160;&#160;&#160;(12)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max sectors per XRAN port </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00110">110</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="aba79881ec9b30850184b4f5f6b0afc39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba79881ec9b30850184b4f5f6b0afc39">&#9670;&nbsp;</a></span>XRAN_MAX_TDD_PERIODICITY</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_TDD_PERIODICITY&#160;&#160;&#160;(80)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max TDD pattern period </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00124">124</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a78d58409e31b11cd5b3512f52c6556ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78d58409e31b11cd5b3512f52c6556ac">&#9670;&nbsp;</a></span>XRAN_MAX_TRX_ANTENNA_ARRAY</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_MAX_TRX_ANTENNA_ARRAY&#160;&#160;&#160;(1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max number of TX and RX arrays per panel in O-RU </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00117">117</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="af0963ba32cc8ecd280afd2e474eb426a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af0963ba32cc8ecd280afd2e474eb426a">&#9670;&nbsp;</a></span>XRAN_N_FE_BUF_LEN</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_N_FE_BUF_LEN&#160;&#160;&#160;(40)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Number of TTIs (slots) </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00109">109</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ad1cc410c971930e1972f329c5130c886"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad1cc410c971930e1972f329c5130c886">&#9670;&nbsp;</a></span>XRAN_N_MAX_BUFFER_SEGMENT</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_N_MAX_BUFFER_SEGMENT&#160;&#160;&#160;<a class="el" href="xran__fh__o__du_8h.html#a5a579cae10a206d64b2810a7df8a66f6">XRAN_MAX_PKT_BURST</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max number of segments per ms </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00133">133</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a93482eb351961fb07e09d913701dd033"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93482eb351961fb07e09d913701dd033">&#9670;&nbsp;</a></span>XRAN_NUM_OF_ANT_RADIO</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_NUM_OF_ANT_RADIO&#160;&#160;&#160;(<a class="el" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>*<a class="el" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Max Number of Antennas supported for all CC on single XRAN port </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00127">127</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="acd3869dff9738650c847e456c6ab21ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd3869dff9738650c847e456c6ab21ae">&#9670;&nbsp;</a></span>XRAN_NUM_OF_SLOT_IN_TDD_LOOP</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_NUM_OF_SLOT_IN_TDD_LOOP&#160;&#160;&#160;(80)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>MAX number of slot for TDD repetition </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00151">151</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a87d92ec177ed9c388685a91051f66205"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a87d92ec177ed9c388685a91051f66205">&#9670;&nbsp;</a></span>XRAN_NUM_OF_SYMBOL_PER_SLOT</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_NUM_OF_SYMBOL_PER_SLOT&#160;&#160;&#160;(14)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Number of symbols per slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00122">122</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ac1e23b437693cb93f1ddd5a74f97cab4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1e23b437693cb93f1ddd5a74f97cab4">&#9670;&nbsp;</a></span>XRAN_PORTS_NUM</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_PORTS_NUM&#160;&#160;&#160;(1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>number of XRAN ports (aka O-RU devices) supported </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00108">108</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a3640d50cafb5ccc15b73219309f60a3b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3640d50cafb5ccc15b73219309f60a3b">&#9670;&nbsp;</a></span>XRAN_SLOT_TYPE_DL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SLOT_TYPE_DL&#160;&#160;&#160;(1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>DL slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00139">139</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ad997c19049d5e80611e4360b1ed79b80"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad997c19049d5e80611e4360b1ed79b80">&#9670;&nbsp;</a></span>XRAN_SLOT_TYPE_FDD</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SLOT_TYPE_FDD&#160;&#160;&#160;(4)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>FDD slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00142">142</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a81efa76a214d1fd1b9b409bdea15c87c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a81efa76a214d1fd1b9b409bdea15c87c">&#9670;&nbsp;</a></span>XRAN_SLOT_TYPE_INVALID</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SLOT_TYPE_INVALID&#160;&#160;&#160;(0)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>invalid slot type </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00138">138</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a581b66d2fea333f0a2e9ca3f9589fd89"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a581b66d2fea333f0a2e9ca3f9589fd89">&#9670;&nbsp;</a></span>XRAN_SLOT_TYPE_LAST</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SLOT_TYPE_LAST&#160;&#160;&#160;(5)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>MAX slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00143">143</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a37ddab95bdd53de1ee17a3607a183eae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a37ddab95bdd53de1ee17a3607a183eae">&#9670;&nbsp;</a></span>XRAN_SLOT_TYPE_SP</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SLOT_TYPE_SP&#160;&#160;&#160;(3)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Special slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00141">141</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a3167443dbf786f9b87a133119a8f69e8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3167443dbf786f9b87a133119a8f69e8">&#9670;&nbsp;</a></span>XRAN_SLOT_TYPE_UL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SLOT_TYPE_UL&#160;&#160;&#160;(2)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>UL slot </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00140">140</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a4a957453875309739caacdd651bdab75"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a957453875309739caacdd651bdab75">&#9670;&nbsp;</a></span>XRAN_STATUS_FAIL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_FAIL&#160;&#160;&#160;(-1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Fail status value. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00058">58</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ace75e6583c9238fc2f957c3cc9b92ec4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace75e6583c9238fc2f957c3cc9b92ec4">&#9670;&nbsp;</a></span>XRAN_STATUS_FATAL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_FATAL&#160;&#160;&#160;(-5)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>A serious error has occurred. Recommended course of action is to shutdown and restart the component. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00079">79</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a6602a966370956b35631e68698539cac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6602a966370956b35631e68698539cac">&#9670;&nbsp;</a></span>XRAN_STATUS_INVALID_PACKET</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_INVALID_PACKET&#160;&#160;&#160;(-7)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Recevied packet does not have correct format. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00092">92</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="aad8a35383b986f4ca80437468b6c625f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad8a35383b986f4ca80437468b6c625f">&#9670;&nbsp;</a></span>XRAN_STATUS_INVALID_PARAM</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_INVALID_PARAM&#160;&#160;&#160;(-4)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Invalid parameter has been passed in. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00075">75</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a341e6485fd9de350805503e938f90708"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a341e6485fd9de350805503e938f90708">&#9670;&nbsp;</a></span>XRAN_STATUS_RESOURCE</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_RESOURCE&#160;&#160;&#160;(-3)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The resource that has been requested is unavailable. Refer to relevant sections of the API for specifics on what the suggested course of action is. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00068">68</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a746b130d3c5db158af75c32c240183fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a746b130d3c5db158af75c32c240183fc">&#9670;&nbsp;</a></span>XRAN_STATUS_RETRY</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_RETRY&#160;&#160;&#160;(-2)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Retry status value. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00063">63</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a814959a7b5ff6cd4474433f62312eee0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a814959a7b5ff6cd4474433f62312eee0">&#9670;&nbsp;</a></span>XRAN_STATUS_SUCCESS</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_SUCCESS&#160;&#160;&#160;(0)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Success status value. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00054">54</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a45590c7e932d3d78451dd72d2cbf5454"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45590c7e932d3d78451dd72d2cbf5454">&#9670;&nbsp;</a></span>XRAN_STATUS_UNSUPPORTED</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STATUS_UNSUPPORTED&#160;&#160;&#160;(-6)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The function is not supported, at least not with the specific parameters supplied. This may be because a particular capability is not supported by the current implementation. </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00085">85</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ac1cd6517de77baee725c67b3e5bd417c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1cd6517de77baee725c67b3e5bd417c">&#9670;&nbsp;</a></span>XRAN_STRICT_PARM_CHECK</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_STRICT_PARM_CHECK&#160;&#160;&#160;(1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>enable parameter check for C-plane </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00135">135</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="aa7db41b67e2cd3be904b7332d8df6657"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7db41b67e2cd3be904b7332d8df6657">&#9670;&nbsp;</a></span>XRAN_SYMBOL_TYPE_DL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SYMBOL_TYPE_DL&#160;&#160;&#160;(0)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>DL symbol </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00146">146</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ac7915d813606499af39f5e952391fded"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7915d813606499af39f5e952391fded">&#9670;&nbsp;</a></span>XRAN_SYMBOL_TYPE_FDD</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SYMBOL_TYPE_FDD&#160;&#160;&#160;(3)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>FDD symbol </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00149">149</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a0e0df6a907cf2724cf3e531d7f18fb3c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0e0df6a907cf2724cf3e531d7f18fb3c">&#9670;&nbsp;</a></span>XRAN_SYMBOL_TYPE_GUARD</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SYMBOL_TYPE_GUARD&#160;&#160;&#160;(2)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>GUARD symbol </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00148">148</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a78bce62effeb80d1e2bda74c6ee3d5f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78bce62effeb80d1e2bda74c6ee3d5f4">&#9670;&nbsp;</a></span>XRAN_SYMBOL_TYPE_UL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XRAN_SYMBOL_TYPE_UL&#160;&#160;&#160;(1)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>UL symbol </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00147">147</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a5a8a3a7c7c4ff43865b57971dfbf0aa6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a8a3a7c7c4ff43865b57971dfbf0aa6">&#9670;&nbsp;</a></span>XranGetFrameNum</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XranGetFrameNum</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">tti, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">SFNatSecStart, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSubFramePerSystemFrame, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSlotPerSubFrame&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) &amp; 0x3FF)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Macro to calculate Frame number for given tti </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00102">102</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a36c7ae37e30524321b18fde971372b92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36c7ae37e30524321b18fde971372b92">&#9670;&nbsp;</a></span>XranGetSlotNum</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XranGetSlotNum</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">tti, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSlotPerSfn&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;((uint32_t)tti % ((uint32_t)numSlotPerSfn))</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Macro to calculate Slot number </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00106">106</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a5ca2a2076a042acdca2e326a436a7882"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ca2a2076a042acdca2e326a436a7882">&#9670;&nbsp;</a></span>XranGetSubFrameNum</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XranGetSubFrameNum</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">tti, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSlotPerSubFrame, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSubFramePerSystemFrame&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;(((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Macro to calculate Subframe number for given tti </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00104">104</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a605ecc3c0ad6066e39465a108b873373"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a605ecc3c0ad6066e39465a108b873373">&#9670;&nbsp;</a></span>XranGetSymNum</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XranGetSymNum</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">symIdx, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSymPerTti&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;(((uint32_t)symIdx % (uint32_t)numSymPerTti))</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Macro to calculate Symbol number for given slot from symbol index </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00100">100</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="aa76014e778bb54907d85e05cac204d71"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa76014e778bb54907d85e05cac204d71">&#9670;&nbsp;</a></span>XranGetTtiNum</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define XranGetTtiNum</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">symIdx, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">numSymPerTti&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;(((uint32_t)symIdx / (uint32_t)numSymPerTti))</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Macro to calculate TTI number from symbol index used by timing thread </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00098">98</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a id="a2c1d5f131c5a23d8339f1babb3b22ade"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c1d5f131c5a23d8339f1babb3b22ade">&#9670;&nbsp;</a></span>phy_decoder_poll_fn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef int16_t(* phy_decoder_poll_fn) (void)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Callback functions to poll BBdev secoder </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00251">251</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="adce425900af03693ff55da9deb17a679"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adce425900af03693ff55da9deb17a679">&#9670;&nbsp;</a></span>phy_encoder_poll_fn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef int16_t(* phy_encoder_poll_fn) (void)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Callback functions to poll BBdev encoder </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00248">248</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ad2e55b4fa82ed8c7f00e083b0406c6c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad2e55b4fa82ed8c7f00e083b0406c6c8">&#9670;&nbsp;</a></span>xran_callback_sym_fn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef void(* xran_callback_sym_fn) (void *)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>callback function type for Symbol packet </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00239">239</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="afe623da85d4542bce592f333046e2c81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe623da85d4542bce592f333046e2c81">&#9670;&nbsp;</a></span>xran_cc_handle_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef void* <a class="el" href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">xran_cc_handle_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>CC instance handle pointer type </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00541">541</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="af48a00f171ef7a017fddd2a29f9854d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af48a00f171ef7a017fddd2a29f9854d0">&#9670;&nbsp;</a></span>xran_fh_tti_callback_fn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef int(* xran_fh_tti_callback_fn) (void *)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Callback function type for TTI event </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00242">242</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="aa3ceca070f84e316e0e2f6002419d572"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3ceca070f84e316e0e2f6002419d572">&#9670;&nbsp;</a></span>xran_status_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef int32_t <a class="el" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Xran status return value </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00236">236</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ad52207145e383ae136995f5a2b7dd82d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad52207145e383ae136995f5a2b7dd82d">&#9670;&nbsp;</a></span>xran_transport_callback_fn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef void(* xran_transport_callback_fn) (void *, <a class="el" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Callback function type packet arrival from transport layer (ETH or IP) </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00245">245</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a id="a8eb67099ddcb1b5877a494edfd450d24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8eb67099ddcb1b5877a494edfd450d24">&#9670;&nbsp;</a></span>callback_to_phy_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">callback_to_phy_id</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Callback function type for symbol packet enum </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3"></a>XRAN_CB_TTI&#160;</td><td class="fielddoc"><p>callback on TTI boundary </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2"></a>XRAN_CB_HALF_SLOT_RX&#160;</td><td class="fielddoc"><p>callback on half slot (sym 7) packet arrival </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af"></a>XRAN_CB_FULL_SLOT_RX&#160;</td><td class="fielddoc"><p>callback on full slot (sym 14) packet arrival </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d"></a>XRAN_CB_MAX&#160;</td><td class="fielddoc"><p>max number of callbacks </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00219">219</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a4c62e469317040d695487f294cf9e0ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c62e469317040d695487f294cf9e0ba">&#9670;&nbsp;</a></span>xran_bbdev_init</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba">xran_bbdev_init</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>state of bbdev with xran </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339"></a>XRAN_BBDEV_NOT_USED&#160;</td><td class="fielddoc"><p>BBDEV is disabled </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0"></a>XRAN_BBDEV_MODE_HW_OFF&#160;</td><td class="fielddoc"><p>BBDEV is enabled for SW sim mode </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39"></a>XRAN_BBDEV_MODE_HW_ON&#160;</td><td class="fielddoc"><p>BBDEV is enable for HW </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09"></a>XRAN_BBDEV_MODE_MAX&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00278">278</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ab78adb73387ef66b18318c2425be2f27"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab78adb73387ef66b18318c2425be2f27">&#9670;&nbsp;</a></span>xran_beamforming_type</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27">xran_beamforming_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>type of beamforming </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f"></a>XRAN_BEAM_ID_BASED&#160;</td><td class="fielddoc"><p>beam index based </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a"></a>XRAN_BEAM_WEIGHT&#160;</td><td class="fielddoc"><p>beam forming weights </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd"></a>XRAN_BEAM_ATTRIBUTE&#160;</td><td class="fielddoc"><p>beam index based </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00270">270</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="abf0211a253f5881ebad3910cef98d30e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf0211a253f5881ebad3910cef98d30e">&#9670;&nbsp;</a></span>xran_category</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>XRAN category enum </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f"></a>XRAN_CATEGORY_A&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749"></a>XRAN_CATEGORY_B&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561"></a>XRAN_CATEGORY_MAX&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00262">262</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="afc082593977ad91f3dcdd2175cb74615"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afc082593977ad91f3dcdd2175cb74615">&#9670;&nbsp;</a></span>xran_compression_method</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615">xran_compression_method</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Compression Method 6.3.3.13, Table 6-43 </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d"></a>XRAN_COMPMETHOD_NONE&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28"></a>XRAN_COMPMETHOD_BLKFLOAT&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76"></a>XRAN_COMPMETHOD_BLKSCALE&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713"></a>XRAN_COMPMETHOD_ULAW&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c"></a>XRAN_COMPMETHOD_MODULATION&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae"></a>XRAN_COMPMETHOD_MAX&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00203">203</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a2f600110ab5726a0f21375b7f24c0326"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2f600110ab5726a0f21375b7f24c0326">&#9670;&nbsp;</a></span>xran_if_state</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080"></a>XRAN_INIT&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e"></a>XRAN_RUNNING&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c"></a>XRAN_STOPPED&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00189">189</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="ab5ce6839bae2968c79930a0bfa17f4d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5ce6839bae2968c79930a0bfa17f4d8">&#9670;&nbsp;</a></span>xran_input_byte_order</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>XRAN-PHY interface byte order </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8"></a>XRAN_NE_BE_BYTE_ORDER&#160;</td><td class="fielddoc"><p>Network byte order (Big endian), xRAN lib doesn't do swap </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098"></a>XRAN_CPU_LE_BYTE_ORDER&#160;</td><td class="fielddoc"><p>CPU byte order (Little endian), xRAN lib does do swap </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00471">471</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a0d9cb4cebbc59a8fa5bfef7547898859"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d9cb4cebbc59a8fa5bfef7547898859">&#9670;&nbsp;</a></span>xran_input_i_q_order</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859">xran_input_i_q_order</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>XRAN-PHY interface I and Q order </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21"></a>XRAN_I_Q_ORDER&#160;</td><td class="fielddoc"><p>I , Q </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3"></a>XRAN_Q_I_ORDER&#160;</td><td class="fielddoc"><p>Q , I </p>
+</td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00477">477</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a185d8ae20c697568878935f0a260227a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a185d8ae20c697568878935f0a260227a">&#9670;&nbsp;</a></span>xran_vf_ports</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a">xran_vf_ports</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>XRAN port enum </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab"></a>XRAN_UP_VF&#160;</td><td class="fielddoc"><p>port type for U-plane </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a"></a>XRAN_CP_VF&#160;</td><td class="fielddoc"><p>port type for C-plane </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac"></a>XRAN_VF_MAX&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00254">254</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a80cd33d519d5b1993e2a1de8b78b3059"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a80cd33d519d5b1993e2a1de8b78b3059">&#9670;&nbsp;</a></span>xran_weight_based_beamforming_type</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059">xran_weight_based_beamforming_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Beamforming type, enumerated as "frequency", "time" or "hybrid" section 10.4.2 Weight-based dynamic beamforming </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3"></a>XRAN_BF_T_FREQUENCY&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d"></a>XRAN_BF_T_TIME&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb"></a>XRAN_BF_T_HYBRID&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003"></a>XRAN_BF_T_MAX&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00229">229</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<a id="a1784f85d62401cba0ffb49c4d2467aae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1784f85d62401cba0ffb49c4d2467aae">&#9670;&nbsp;</a></span>XranFrameDuplexType</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae">XranFrameDuplexType</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0"></a>XRAN_FDD&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08"></a>XRAN_TDD&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="xran__fh__o__du_8h_source.html#l00184">184</a> of file <a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ac94e2474beef3b68521cfd391211b1be"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac94e2474beef3b68521cfd391211b1be">&#9670;&nbsp;</a></span>xran_5g_fronthault_config()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_5g_fronthault_config </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *&#160;</td>
+          <td class="paramname"><em>pSrcBuffer</em>[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *&#160;</td>
+          <td class="paramname"><em>pSrcCpBuffer</em>[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *&#160;</td>
+          <td class="paramname"><em>pDstBuffer</em>[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *&#160;</td>
+          <td class="paramname"><em>pDstCpBuffer</em>[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a>&#160;</td>
+          <td class="paramname"><em>pCallback</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pCallbackTag</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function configures TX(DL) and RX(UL) output buffers and callback (UL only) for XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">pSrcBuffer</td><td>list of memory buffers to use to fetch IQs from PHY to XRAN layer (DL) </td></tr>
+    <tr><td class="paramname">pSrcCpBuffer</td><td>list of memory buffers to use to configure C-plane (DL) </td></tr>
+    <tr><td class="paramname">pDstBuffer</td><td>list of memory buffers to use to deliver IQs from XRAN layer to PHY (UL) </td></tr>
+    <tr><td class="paramname">pDstCpBuffer</td><td>list of memory buffers to use to configure C-plane (UL) </td></tr>
+    <tr><td class="paramname">xran_transport_callback_fn</td><td>pCallback Callback function to call with arrival of all packets for given CC for given symbol </td></tr>
+    <tr><td class="paramname">pCallbackTag</td><td>Parameters of Callback function</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success -1 - on error </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02551">2551</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph" id="xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="183,13,308,39"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph" id="xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="219,5,291,32"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752" title="xranLibWraper::Open" alt="" coords="183,56,328,83"/>
+<area shape="rect" id="node4" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="420,31,492,57"/>
+<area shape="rect" id="node6" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="Init_Sys_Check::SetUp" alt="" coords="376,81,536,108"/>
+<area shape="rect" id="node5" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="584,31,656,57"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ab204e979de14c21d34e9b88c6c700d25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab204e979de14c21d34e9b88c6c700d25">&#9670;&nbsp;</a></span>xran_5g_prach_req()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_5g_prach_req </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *&#160;</td>
+          <td class="paramname"><em>pDstBuffer</em>[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a>&#160;</td>
+          <td class="paramname"><em>pCallback</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pCallbackTag</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function configures PRACH output buffers and callback for XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">pDstBuffer</td><td>list of memory buffers to use to deliver PRACH IQs from xran layer to PHY </td></tr>
+    <tr><td class="paramname">xran_transport_callback_fn</td><td>pCallback Callback function to call with arrival of PRACH packets for given CC </td></tr>
+    <tr><td class="paramname">pCallbackTag</td><td>Parameters of Callback function</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success -1 - on error </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02636">2636</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph" id="xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="185,5,311,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph" id="xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="222,5,294,32"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752" title="xranLibWraper::Open" alt="" coords="185,56,331,83"/>
+<area shape="rect" id="node4" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="423,31,495,57"/>
+<area shape="rect" id="node6" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="Init_Sys_Check::SetUp" alt="" coords="379,81,539,108"/>
+<area shape="rect" id="node5" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="587,31,659,57"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a2bd01fc3432f80a787d6bf317949dd80"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bd01fc3432f80a787d6bf317949dd80">&#9670;&nbsp;</a></span>xran_5g_srs_req()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_5g_srs_req </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__buffer__list.html">xran_buffer_list</a> *&#160;</td>
+          <td class="paramname"><em>pDstBuffer</em>[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a>&#160;</td>
+          <td class="paramname"><em>pCallback</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pCallbackTag</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function configures SRS output buffers and callback for XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">pDstBuffer</td><td>list of memory buffers to use to deliver SRS IQs from xran layer to PHY </td></tr>
+    <tr><td class="paramname">xran_transport_callback_fn</td><td>pCallback Callback function to call with arrival of SRS packets for given CC </td></tr>
+    <tr><td class="paramname">pCallbackTag</td><td>Parameters of Callback function</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success -1 - on error </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02679">2679</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph" id="xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="172,5,297,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a68b53cf51fb3aee4a6d8be54d540965a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68b53cf51fb3aee4a6d8be54d540965a">&#9670;&nbsp;</a></span>xran_add_hdr_offset()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t* xran_add_hdr_offset </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t *&#160;</td>
+          <td class="paramname"><em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>compMethod</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function calculates offset for ptr according to ORAN headers requared</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dst</td><td>pointer to be addjusted  compression method according to enum xran_compression_method</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>ptr - pointer to payload given header requared </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02741">2741</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+
+</div>
+</div>
+<a id="ae79ca138dc77d69ef692886be4e5da81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae79ca138dc77d69ef692886be4e5da81">&#9670;&nbsp;</a></span>xran_bm_allocate_buffer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_bm_allocate_buffer </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>nPoolIndex</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void **&#160;</td>
+          <td class="paramname"><em>ppData</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void **&#160;</td>
+          <td class="paramname"><em>ppCtrl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function allocates buffer used between XRAN layer and PHY. In general case it's DPDK mbuf.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">nPoolIndex</td><td>buffer pool identification </td></tr>
+    <tr><td class="paramname">ppData</td><td>Pointer to pointer where to store address of new buffer </td></tr>
+    <tr><td class="paramname">ppCtrl</td><td>Pointer to pointer where to store address of internal private control information</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02499">2499</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph" id="xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="217,5,289,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a0f904fe772b55bcfc449759a23063aa3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f904fe772b55bcfc449759a23063aa3">&#9670;&nbsp;</a></span>xran_bm_free_buffer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_bm_free_buffer </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pData</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pCtrl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function frees buffer used between XRAN layer and PHY. In general case it's DPDK mbuf</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">pData</td><td>Pointer to buffer </td></tr>
+    <tr><td class="paramname">pData</td><td>Pointer to internal private control information</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02541">2541</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph" id="xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="195,5,267,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a39a9f7b5d01979eb1f8d806d6b9c50fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a39a9f7b5d01979eb1f8d806d6b9c50fe">&#9670;&nbsp;</a></span>xran_bm_init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_bm_init </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t *&#160;</td>
+          <td class="paramname"><em>pPoolIndex</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>nNumberOfBuffers</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>nBufferSize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function allocates buffer memory (bm) used between XRAN layer and PHY. In general case it's DPDK mbuf. it uses Memory Management system to get memory chunk and define memory pool on top of it.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">nPoolIndex</td><td>pointer to buffer pool identification to be returned </td></tr>
+    <tr><td class="paramname">nNumberOfBuffers</td><td>number of buffer to allocate in the pool </td></tr>
+    <tr><td class="paramname">nBufferSize</td><td>buffer size to allocate</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02454">2454</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph" id="xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="149,5,221,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a2f8866c9d6536a56e4d8232b8c45808b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2f8866c9d6536a56e4d8232b8c45808b">&#9670;&nbsp;</a></span>xran_close()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_close </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function closes XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02863">2863</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph" id="xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph">
+<area shape="rect" id="node2" href="classxran_lib_wraper.html#a931587596081ef8178c2b128facb0411" title="xranLibWraper::TearDown" alt="" coords="139,5,313,32"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4" title="xranLibWraper::Close" alt="" coords="152,56,300,83"/>
+<area shape="rect" id="node4" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="417,31,489,57"/>
+<area shape="rect" id="node6" href="class_init___sys___check.html#ac4fca95dc3b93372ce7f2078baf8e8b6" title="Init_Sys_Check::TearDown" alt="" coords="361,81,544,108"/>
+<area shape="rect" id="node5" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="592,31,664,57"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ac153c5a3e3f4f64ab0fafca6f593c380"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac153c5a3e3f4f64ab0fafca6f593c380">&#9670;&nbsp;</a></span>xran_get_common_counters()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_get_common_counters </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pXranLayerHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__common__counters.html">xran_common_counters</a> *&#160;</td>
+          <td class="paramname"><em>pStats</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function retrun XRAN layer common counters for given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC</td></tr>
+    <tr><td class="paramname">pStats</td><td>Pointer to pointer of common counter structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l03074">3074</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph" id="xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#a8e9607426b34de712f7d450018d0dc05" title="TEST_P" alt="" coords="240,5,312,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a937105f52446cfcb951e43e1dc3c4d8b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a937105f52446cfcb951e43e1dc3c4d8b">&#9670;&nbsp;</a></span>xran_get_if_state()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a> xran_get_if_state </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function returns status of operation of FH layer</p>
+<dl class="section return"><dt>Returns</dt><dd>XRAN_INIT - init state XRAN_RUNNING - running XRAN_STOPPED - stopped </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l00238">238</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph" id="xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph">
+<area shape="rect" id="node2" href="classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0" title="xranLibWraper::is_running" alt="" coords="181,18,354,45"/>
+<area shape="rect" id="node5" href="xran__main_8c.html#ad4852c0827600db95f9841e2f5f9f6f1" title="xran_start" alt="" coords="227,75,307,102"/>
+<area shape="rect" id="node8" href="xran__main_8c.html#a8f2daee2fe90126f1f7c361b7760a7a3" title="xran_stop" alt="" coords="228,133,307,159"/>
+<area shape="rect" id="node10" href="xran__main_8c.html#a4120602c15ddabfc3372e238d17f0414" title="xran_mm_destroy" alt="" coords="204,195,331,222"/>
+<area shape="rect" id="node13" href="xran__main_8c.html#adfcabe4091a4782ecb9ca029314c99ca" title="xran_reg_sym_cb" alt="" coords="205,271,330,298"/>
+<area shape="rect" id="node15" href="xran__main_8c.html#a57bc216aff0d372305a6d13a072c605b" title="xran_reg_physide_cb" alt="" coords="195,325,340,351"/>
+<area shape="rect" id="node21" href="xran__main_8c.html#ad1ada9c5c57979c50f1a17a9050b8f3a" title="xran_register_cb_mbuf2ring" alt="" coords="176,375,359,402"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#a165ca95dea40ce1abcc161f39087d38d" title="xranLibWraper::apply\l_cpenable" alt="" coords="407,5,552,47"/>
+<area shape="rect" id="node4" href="chain__tests_8cc.html#a2bc2178388f6edfa69905ff5f52fbcdc" title="TEST_P" alt="" coords="644,13,716,39"/>
+<area shape="rect" id="node6" href="classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc" title="xranLibWraper::Start" alt="" coords="408,71,551,98"/>
+<area shape="rect" id="node7" href="init__sys__functional_8cc.html#a03935019c7cdf89f54e582fbaf9bff76" title="TEST_P" alt="" coords="644,97,716,123"/>
+<area shape="rect" id="node9" href="classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280" title="xranLibWraper::Stop" alt="" coords="409,122,550,149"/>
+<area shape="rect" id="node11" href="init__sys__functional_8cc.html#ae5f944f4eff8e2963b83b56f208a114d" title="TEST_P" alt="" coords="443,173,515,199"/>
+<area shape="rect" id="node12" href="sample-app_8c.html#ac871776e03d4a4ae1717d2600a7f7dff" title="stop_xran" alt="" coords="440,223,519,250"/>
+<area shape="rect" id="node14" href="init__sys__functional_8cc.html#a7b1dc2a3c7a3d8e2eb7f2616417feb75" title="TEST_P" alt="" coords="443,274,515,301"/>
+<area shape="rect" id="node16" href="init__sys__functional_8cc.html#a74a4819defc7dbd1cfa7e793456be743" title="TEST_P" alt="" coords="443,325,515,351"/>
+<area shape="rect" id="node17" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752" title="xranLibWraper::Open" alt="" coords="407,375,552,402"/>
+<area shape="rect" id="node18" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="644,350,716,377"/>
+<area shape="rect" id="node20" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="Init_Sys_Check::SetUp" alt="" coords="600,401,760,427"/>
+<area shape="rect" id="node19" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="808,350,880,377"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a2816fdf0ed3269e998720d01c2b6bf76"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2816fdf0ed3269e998720d01c2b6bf76">&#9670;&nbsp;</a></span>xran_get_slot_idx()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_get_slot_idx </td>
+          <td>(</td>
+          <td class="paramtype">uint32_t *&#160;</td>
+          <td class="paramname"><em>nFrameIdx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t *&#160;</td>
+          <td class="paramname"><em>nSubframeIdx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t *&#160;</td>
+          <td class="paramname"><em>nSlotIdx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t *&#160;</td>
+          <td class="paramname"><em>nSecond</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function returns current TTI, Frame, Subframe, Slot Number as seen "Over air" base on PTP time</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">nFrameIdx</td><td>Pointer to Frame number [0-99]</td></tr>
+    <tr><td class="paramname">nSubframeIdx</td><td>Pointer to Subframe number [0-10]</td></tr>
+    <tr><td class="paramname">nSlotIdx</td><td>Pointer to Slot number [0-7]</td></tr>
+    <tr><td class="paramname">nSecond</td><td>Pointer to current UTC second</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>current TTI number [0-7999] </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02936">2936</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph" id="xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#a593270c79e8ce298caeb715272c65173" title="TEST_P" alt="" coords="219,5,291,32"/>
+<area shape="rect" id="node3" href="xran__main_8c.html#ad4544f4d6f4713c010f083bce5758d14" title="rx_ul_deadline_half_cb" alt="" coords="177,56,332,83"/>
+<area shape="rect" id="node4" href="xran__main_8c.html#a63aa00dad3b771f4db5df8ca8ac68323" title="rx_ul_deadline_full_cb" alt="" coords="179,107,330,133"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ac5d259c362d10b47c233b5098052cbf2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5d259c362d10b47c233b5098052cbf2">&#9670;&nbsp;</a></span>xran_get_time_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint32_t xran_get_time_stats </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t *&#160;</td>
+          <td class="paramname"><em>total_time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t *&#160;</td>
+          <td class="paramname"><em>used_time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t *&#160;</td>
+          <td class="paramname"><em>core_used</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>clear</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function returns XRAN core utilization stats</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">total_time</td><td>(out) Pointer to variable to store Total time thread has been running </td></tr>
+    <tr><td class="paramname">used_time</td><td>(out) Pointer to variable to store Total time essential tasks have been running on the thread </td></tr>
+    <tr><td class="paramname">core_used</td><td>(out) Pointer to variable to store Core on which the XRAN thread is running </td></tr>
+    <tr><td class="paramname">clear</td><td>(in) If set to 1, then internal variables total_time and used_time are cleared</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02721">2721</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+
+</div>
+</div>
+<a id="a3efe8aba779b0a2f90adc02065579f5f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3efe8aba779b0a2f90adc02065579f5f">&#9670;&nbsp;</a></span>xran_init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_init </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>argv</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__fh__init.html">xran_fh_init</a> *&#160;</td>
+          <td class="paramname"><em>p_xran_fh_init</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>appName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void **&#160;</td>
+          <td class="paramname"><em>pHandle</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Initialize the XRAN Layer via DPDK.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">argc</td><td>A non-negative value. If it is greater than 0, the array members for argv[0] through argv[argc] (non-inclusive) shall contain pointers to strings. </td></tr>
+    <tr><td class="paramname">argv</td><td>An array of strings. The contents of the array, as well as the strings which are pointed to by the array, may be modified by this function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success Error codes returned via rte_errno </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02319">2319</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph" id="xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="1131,245,1256,272"/>
+<area shape="rect" id="node3" href="ethdi_8c.html#a69c763967ba7e28c4a589ce624c226ff" title="xran_register_ethertype\l_handler" alt="" coords="124,86,283,127"/>
+<area shape="rect" id="node4" href="xran__main_8c.html#a7a412a9cd0ac919dccb2112fb386d64a" title="handle_ecpri_ethertype" alt="" coords="125,152,281,179"/>
+<area shape="rect" id="node16" href="ethdi_8c.html#a97dcf8200aebed714f47764c302a06b5" title="xran_ethdi_init_dpdk_io" alt="" coords="124,203,283,229"/>
+<area shape="rect" id="node5" href="xran__common_8c.html#a3d4bd5c7eec6da4ab71688e209100761" title="process_mbuf" alt="" coords="335,195,439,221"/>
+<area shape="rect" id="node15" href="xran__main_8c.html#a4eb2b37a85455e8078520bcea40296cc" title="process_cplane" alt="" coords="331,245,444,272"/>
+<area shape="rect" id="node6" href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="513,93,638,120"/>
+<area shape="rect" id="node7" href="xran__common_8h.html#a3fc01469558ddf728239d59038ac5803" title="Get the configuration of the number of antenna for UL. " alt="" coords="505,144,646,171"/>
+<area shape="rect" id="node8" href="xran__up__api_8h.html#adfc5ea408600c8de1384be020b359d95" title="Function extracts IQ samples from received mbuf packet. " alt="" coords="492,195,659,221"/>
+<area shape="rect" id="node11" href="xran__common_8c.html#ac5201df2d161091f7319ff2f57432823" title="xran_pkt_validate" alt="" coords="730,245,854,272"/>
+<area shape="rect" id="node12" href="xran__common_8c.html#a300b87c29358bb161404c0122a9b2a46" title="xran_process_srs_sym" alt="" coords="925,296,1083,323"/>
+<area shape="rect" id="node13" href="xran__common_8c.html#aec7f5a73cca88563e12b7e82e7c75b50" title="xran_process_prach_sym" alt="" coords="707,347,877,373"/>
+<area shape="rect" id="node14" href="xran__common_8c.html#acb6ecf7858c99c963182b9b7884deca6" title="xran_process_rx_sym" alt="" coords="929,397,1079,424"/>
+<area shape="rect" id="node9" href="xran__transport_8h.html#ab08a85b6527f45a9ba22d25061a96a3c" title="Decompose ecpriRtcid/ecpriPcid. " alt="" coords="719,195,865,221"/>
+<area shape="rect" id="node10" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="932,195,1076,221"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph" id="xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph">
+<area shape="rect" id="node2" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="124,5,275,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ad32fb64c20521dbcfeb317e143046e27"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad32fb64c20521dbcfeb317e143046e27">&#9670;&nbsp;</a></span>xran_malloc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* xran_malloc </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>buf_len</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function allocates memory of given size from heap</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">buf_len</td><td>buffer size</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>ptr - to memory buffer or NULL </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02736">2736</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+
+</div>
+</div>
+<a id="a4120602c15ddabfc3372e238d17f0414"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4120602c15ddabfc3372e238d17f0414">&#9670;&nbsp;</a></span>xran_mm_destroy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_mm_destroy </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function destroys Memory Management (MM) layer of XRAN library</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02877">2877</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph" id="xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b" title="xran_get_if_state" alt="" coords="180,5,303,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph" id="xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ae5f944f4eff8e2963b83b56f208a114d" title="TEST_P" alt="" coords="183,5,255,32"/>
+<area shape="rect" id="node3" href="sample-app_8c.html#ac871776e03d4a4ae1717d2600a7f7dff" title="stop_xran" alt="" coords="180,56,259,83"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a999189549fd6b524b733ddd61f1f9962"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a999189549fd6b524b733ddd61f1f9962">&#9670;&nbsp;</a></span>xran_mm_init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_mm_init </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>nMemorySize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>nMemorySegmentSize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function initialize Memory Management subsystem (mm) in order to handle memory buffers between XRAN layer and PHY.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">nMemorySize</td><td>memory size of all segments </td></tr>
+    <tr><td class="paramname">nMemorySegmentSize</td><td>size of memory per segment</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02447">2447</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph" id="xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="153,5,225,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a03f408f45e97aa68ca47c92e4e7d1a70"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a03f408f45e97aa68ca47c92e4e7d1a70">&#9670;&nbsp;</a></span>xran_open()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_open </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structxran__fh__config.html">xran_fh_config</a> *&#160;</td>
+          <td class="paramname"><em>pConf</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function opens XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">pointer</td><td>to struct <a class="el" href="structxran__fh__config.html">xran_fh_config</a> pConf Pointer to XRAN configuration structure with specific settings to use</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02756">2756</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph" id="xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="163,5,288,32"/>
+<area shape="rect" id="node3" href="xran__main_8c.html#ae6070ee9caf6a7ea8d7ef052ed0a559a" title="Get the configuration of nummerology. " alt="" coords="136,56,315,83"/>
+<area shape="rect" id="node4" href="xran__main_8c.html#a00025c5bad7b7b6eea4374226f8c54bb" title="xran_init_prach" alt="" coords="170,107,281,133"/>
+<area shape="rect" id="node7" href="xran__main_8c.html#acb5dd6ae5569cb3090d441c800068244" title="xran_init_srs" alt="" coords="177,157,273,184"/>
+<area shape="rect" id="node8" href="xran__cp__api_8h.html#a3ca98b2a49501149a7b5baf9174897d8" title="Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction) " alt="" coords="148,208,303,235"/>
+<area shape="rect" id="node9" href="xran__main_8c.html#a54de92e0ced826beeb759580d170562b" title="xran_init_sectionid" alt="" coords="160,259,291,285"/>
+<area shape="rect" id="node10" href="xran__main_8c.html#a7a3c06a23d41de0038747348be9bb9da" title="xran_init_seqid" alt="" coords="171,309,280,336"/>
+<area shape="rect" id="node11" href="xran__frame__struct_8c.html#a8e8598556da3e49fa48cb646c24162fa" title="xran_fs_get_tti_interval" alt="" coords="147,360,304,387"/>
+<area shape="rect" id="node12" href="xran__timer_8h.html#a6c1790e87767257159038d0d98a393e6" title="timing_set_numerology" alt="" coords="147,411,303,437"/>
+<area shape="rect" id="node13" href="xran__frame__struct_8c.html#a075025c7652869adb79799313aab4f64" title="xran_fs_set_slot_type" alt="" coords="150,461,301,488"/>
+<area shape="rect" id="node14" href="xran__frame__struct_8c.html#a2fd9b68ce2fa4734a021203b320e4e04" title="xran_fs_slot_limit_init" alt="" coords="151,512,299,539"/>
+<area shape="rect" id="node5" href="xran__cp__api_8h.html#a4b7c2b7f89a0a04b07426e6adbecdb27" title="xran_get_freqoffset" alt="" coords="366,81,501,108"/>
+<area shape="rect" id="node6" href="xran__main_8c.html#a3fc01469558ddf728239d59038ac5803" title="Get the configuration of the number of antenna for UL. " alt="" coords="363,132,504,159"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph" id="xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph">
+<area shape="rect" id="node2" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="173,5,245,32"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752" title="xranLibWraper::Open" alt="" coords="136,56,281,83"/>
+<area shape="rect" id="node4" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="373,31,445,57"/>
+<area shape="rect" id="node6" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="Init_Sys_Check::SetUp" alt="" coords="329,81,489,108"/>
+<area shape="rect" id="node5" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="537,31,609,57"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="aa8354b56b0be4be47c44a8a5c38db86e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa8354b56b0be4be47c44a8a5c38db86e">&#9670;&nbsp;</a></span>xran_reg_physide_cb()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_reg_physide_cb </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a>&#160;</td>
+          <td class="paramname"><em>Cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>cbParam</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>skipTtiNum</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">enum&#160;</td>
+          <td class="paramname"><em>callback_to_phy_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function registers callback to XRAN layer. Function support callbacks align to OTA time. TTI even, half of slot, full slot with respect to PTP time.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">Cb</td><td>pointer to callback function </td></tr>
+    <tr><td class="paramname">cbParam</td><td>pointer to Callback Function parameters </td></tr>
+    <tr><td class="paramname">skipTtiNum</td><td>number of calls to be skipped before first call </td></tr>
+    <tr><td class="paramname">callback_to_phy_id</td><td>call back time identification (see enum callback_to_phy_id)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - in case of success -1 - in case of failure </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02900">2900</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph" id="xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="199,5,324,32"/>
+<area shape="rect" id="node3" href="xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b" title="xran_get_if_state" alt="" coords="200,56,323,83"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph" id="xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#a74a4819defc7dbd1cfa7e793456be743" title="TEST_P" alt="" coords="235,5,307,32"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752" title="xranLibWraper::Open" alt="" coords="199,56,344,83"/>
+<area shape="rect" id="node4" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="436,31,508,57"/>
+<area shape="rect" id="node6" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="Init_Sys_Check::SetUp" alt="" coords="392,81,552,108"/>
+<area shape="rect" id="node5" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="600,31,672,57"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="adfcabe4091a4782ecb9ca029314c99ca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adfcabe4091a4782ecb9ca029314c99ca">&#9670;&nbsp;</a></span>xran_reg_sym_cb()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_reg_sym_cb </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">xran_callback_sym_fn</a>&#160;</td>
+          <td class="paramname"><em>symCb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>symCbParam</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t&#160;</td>
+          <td class="paramname"><em>symb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t&#160;</td>
+          <td class="paramname"><em>ant</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function registers callback to XRAN layer. Function support callbacks aligned on packet arrival.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC </td></tr>
+    <tr><td class="paramname">symCb</td><td>pointer to callback function </td></tr>
+    <tr><td class="paramname">symCb</td><td>pointer to Callback Function parameters </td></tr>
+    <tr><td class="paramname">symb</td><td>symbol to be register for </td></tr>
+    <tr><td class="paramname">ant</td><td>Antenna number to trigger callback for packet arrival</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - in case of success -1 - in case of failure </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02888">2888</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph" id="xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b" title="xran_get_if_state" alt="" coords="179,5,301,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph" id="xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#a7b1dc2a3c7a3d8e2eb7f2616417feb75" title="TEST_P" alt="" coords="179,5,251,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="adf5ead6a9f90b5d524e8012521d64bb5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adf5ead6a9f90b5d524e8012521d64bb5">&#9670;&nbsp;</a></span>xran_sector_get_instances()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_sector_get_instances </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>nNumInstances</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">xran_cc_handle_t</a> *&#160;</td>
+          <td class="paramname"><em>pSectorInstanceHandles</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function returns handles for number of sectors supported by XRAN layer. Currently function supports one handle XRAN layer where it supports only one CC</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle </td></tr>
+    <tr><td class="paramname">nNumInstances</td><td>total number of instances of CC </td></tr>
+    <tr><td class="paramname">pSectorInstanceHandles</td><td>Pointer to xran_cc_handle_t where to store Handle pointer</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02408">2408</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph" id="xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph">
+<area shape="rect" id="node2" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5" title="TEST_P" alt="" coords="232,5,304,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ad4852c0827600db95f9841e2f5f9f6f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4852c0827600db95f9841e2f5f9f6f1">&#9670;&nbsp;</a></span>xran_start()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_start </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function starts XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02841">2841</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph" id="xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b" title="xran_get_if_state" alt="" coords="133,5,256,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph" id="xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph">
+<area shape="rect" id="node2" href="classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc" title="xranLibWraper::Start" alt="" coords="133,5,276,32"/>
+<area shape="rect" id="node3" href="init__sys__functional_8cc.html#a03935019c7cdf89f54e582fbaf9bff76" title="TEST_P" alt="" coords="324,5,396,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a8f2daee2fe90126f1f7c361b7760a7a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f2daee2fe90126f1f7c361b7760a7a3">&#9670;&nbsp;</a></span>xran_stop()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t xran_stop </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>pHandle</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Function stops XRAN layer with given handle</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pHandle</td><td>Pointer to XRAN layer handle for given CC</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - on success </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l02852">2852</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png" border="0" usemap="#xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph" id="xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b" title="xran_get_if_state" alt="" coords="132,5,255,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png" border="0" usemap="#xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph" alt=""/></div>
+<map name="xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph" id="xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph">
+<area shape="rect" id="node2" href="classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280" title="xranLibWraper::Stop" alt="" coords="132,5,273,32"/>
+<area shape="rect" id="node3" href="init__sys__functional_8cc.html#a03935019c7cdf89f54e582fbaf9bff76" title="TEST_P" alt="" coords="321,5,393,32"/>
+</map>
+</div>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>