add Doxygen documentation
[o-du/phy.git] / docs / API / xran__fh__o__du_8h_source.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>o-du/phy: xran_fh_o_du.h Source File</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="search/searchdata.js"></script>
14 <script type="text/javascript" src="search/search.js"></script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21  <tbody>
22  <tr style="height: 56px;">
23   <td id="projectalign" style="padding-left: 0.5em;">
24    <div id="projectname">o-du/phy
25    </div>
26    <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
27   </td>
28  </tr>
29  </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.13 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "search",false,'Search');
36 </script>
37 <script type="text/javascript" src="menudata.js"></script>
38 <script type="text/javascript" src="menu.js"></script>
39 <script type="text/javascript">
40 $(function() {
41   initMenu('',true,false,'search.php','Search');
42   $(document).ready(function() { init_search(); });
43 });
44 </script>
45 <div id="main-nav"></div>
46 <!-- window showing the filter options -->
47 <div id="MSearchSelectWindow"
48      onmouseover="return searchBox.OnSearchSelectShow()"
49      onmouseout="return searchBox.OnSearchSelectHide()"
50      onkeydown="return searchBox.OnSearchSelectKey(event)">
51 </div>
52
53 <!-- iframe showing the search results (closed by default) -->
54 <div id="MSearchResultsWindow">
55 <iframe src="javascript:void(0)" frameborder="0" 
56         name="MSearchResults" id="MSearchResults">
57 </iframe>
58 </div>
59
60 <div id="nav-path" class="navpath">
61   <ul>
62 <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>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="headertitle">
67 <div class="title">xran_fh_o_du.h</div>  </div>
68 </div><!--header-->
69 <div class="contents">
70 <a href="xran__fh__o__du_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">*   Copyright (c) 2019 Intel.</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">*   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">*   you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">*   You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">*       http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">*   Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">*   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">*   See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">*   limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*******************************************************************************/</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef _XRAN_FH_O_DU_H_</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define _XRAN_FH_O_DU_H_</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;sys/queue.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;netinet/in.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;setjmp.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;getopt.h&gt;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">   54</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_SUCCESS (0)</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a4a957453875309739caacdd651bdab75">   58</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_FAIL (-1)</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a746b130d3c5db158af75c32c240183fc">   63</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_RETRY (-2)</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a341e6485fd9de350805503e938f90708">   68</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_RESOURCE (-3)</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#aad8a35383b986f4ca80437468b6c625f">   75</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_INVALID_PARAM (-4)</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ace75e6583c9238fc2f957c3cc9b92ec4">   79</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_FATAL (-5)</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a45590c7e932d3d78451dd72d2cbf5454">   85</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_UNSUPPORTED (-6)</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a6602a966370956b35631e68698539cac">   92</a></span>&#160;<span class="preprocessor">#define XRAN_STATUS_INVALID_PACKET (-7)</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#aa76014e778bb54907d85e05cac204d71">   98</a></span>&#160;<span class="preprocessor">#define XranGetTtiNum(symIdx, numSymPerTti) (((uint32_t)symIdx / (uint32_t)numSymPerTti))</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a605ecc3c0ad6066e39465a108b873373">  100</a></span>&#160;<span class="preprocessor">#define XranGetSymNum(symIdx, numSymPerTti) (((uint32_t)symIdx % (uint32_t)numSymPerTti))</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a5a8a3a7c7c4ff43865b57971dfbf0aa6">  102</a></span>&#160;<span class="preprocessor">#define XranGetFrameNum(tti,SFNatSecStart,numSubFramePerSystemFrame, numSlotPerSubFrame)  ((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) &amp; 0x3FF)</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a5ca2a2076a042acdca2e326a436a7882">  104</a></span>&#160;<span class="preprocessor">#define XranGetSubFrameNum(tti, numSlotPerSubFrame, numSubFramePerSystemFrame) (((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame)</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a36c7ae37e30524321b18fde971372b92">  106</a></span>&#160;<span class="preprocessor">#define XranGetSlotNum(tti, numSlotPerSfn) ((uint32_t)tti % ((uint32_t)numSlotPerSfn))</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4">  108</a></span>&#160;<span class="preprocessor">#define XRAN_PORTS_NUM               (1)    </span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">  109</a></span>&#160;<span class="preprocessor">#define XRAN_N_FE_BUF_LEN            (40)   </span></div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">  110</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_SECTOR_NR           (12)   </span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">  111</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_ANTENNA_NR          (16)    </span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor"></span><span class="comment">/* see 10.2 Hierarchy of Radiation Structure in O-RU (assume TX and RX pannel are the same dimensions)*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define XRAN_MAX_PANEL_NR            (1)   </span></div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a42f4a51ad2109eb30e8cbefcde747e92">  116</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_TRX_ANTENNA_ARRAY   (1)   </span></div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a78d58409e31b11cd5b3512f52c6556ac">  117</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_ANT_ARRAY_ELM_NR    (64)  </span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define XRAN_NUM_OF_SYMBOL_PER_SLOT  (14) </span></div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">  122</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT  XRAN_NUM_OF_SYMBOL_PER_SLOT </span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a6a9b0521b0d67ed1e761047b2a929422">  123</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_TDD_PERIODICITY     (80) </span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#aba79881ec9b30850184b4f5f6b0afc39">  124</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_CELLS_PER_PORT      (XRAN_MAX_SECTOR_NR) </span></div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a6447bf8849000b9fecf51d77d4fa50b2">  125</a></span>&#160;<span class="preprocessor">#define XRAN_COMPONENT_CARRIERS_MAX  (XRAN_MAX_SECTOR_NR) </span></div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ad366e06c49d56ecfe336917a71236554">  126</a></span>&#160;<span class="preprocessor">#define XRAN_NUM_OF_ANT_RADIO        (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR) </span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a93482eb351961fb07e09d913701dd033">  127</a></span>&#160;<span class="preprocessor">#define XRAN_MAX_PRBS                (275) </span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define XRAN_MAX_SECTIONS_PER_SYM    (16)  </span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#define XRAN_MAX_PKT_BURST (448+4) </span></div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a5a579cae10a206d64b2810a7df8a66f6">  132</a></span>&#160;<span class="preprocessor">#define XRAN_N_MAX_BUFFER_SEGMENT XRAN_MAX_PKT_BURST </span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define XRAN_STRICT_PARM_CHECK               (1) </span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor"></span><span class="comment">/* Slot type definition */</span><span class="preprocessor"></span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#define XRAN_SLOT_TYPE_INVALID               (0) </span></div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a81efa76a214d1fd1b9b409bdea15c87c">  138</a></span>&#160;<span class="preprocessor">#define XRAN_SLOT_TYPE_DL                    (1) </span></div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a3640d50cafb5ccc15b73219309f60a3b">  139</a></span>&#160;<span class="preprocessor">#define XRAN_SLOT_TYPE_UL                    (2) </span></div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a3167443dbf786f9b87a133119a8f69e8">  140</a></span>&#160;<span class="preprocessor">#define XRAN_SLOT_TYPE_SP                    (3) </span></div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a37ddab95bdd53de1ee17a3607a183eae">  141</a></span>&#160;<span class="preprocessor">#define XRAN_SLOT_TYPE_FDD                   (4) </span></div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ad997c19049d5e80611e4360b1ed79b80">  142</a></span>&#160;<span class="preprocessor">#define XRAN_SLOT_TYPE_LAST                  (5) </span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor"></span><span class="comment">/* symbol type definition */</span><span class="preprocessor"></span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#define XRAN_SYMBOL_TYPE_DL                  (0) </span></div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#aa7db41b67e2cd3be904b7332d8df6657">  146</a></span>&#160;<span class="preprocessor">#define XRAN_SYMBOL_TYPE_UL                  (1) </span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a78bce62effeb80d1e2bda74c6ee3d5f4">  147</a></span>&#160;<span class="preprocessor">#define XRAN_SYMBOL_TYPE_GUARD               (2) </span></div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a0e0df6a907cf2724cf3e531d7f18fb3c">  148</a></span>&#160;<span class="preprocessor">#define XRAN_SYMBOL_TYPE_FDD                 (3) </span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#define XRAN_NUM_OF_SLOT_IN_TDD_LOOP         (80)</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">//#define _XRAN_DEBUG   </span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">//#define _XRAN_VERBOSE </span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#ifdef _XRAN_DEBUG</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">    #define xran_log_dbg(fmt, ...)          \</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">        fprintf(stderr,                     \</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">            &quot;DEBUG: %s(%d): &quot; fmt &quot;\n&quot;,     \</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">            __FILE__,                       \</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">            __LINE__, ##__VA_ARGS__)</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">    #define xran_log_dbg(fmt, ...)</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#if defined(_XRAN_DEBUG) || defined(_XRAN_VERBOSE)</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">    #define xran_log_wrn(fmt, ...)          \</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">        fprintf(                            \</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">            stderr,                         \</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">            &quot;WARNING: %s(%d): &quot; fmt &quot;\n&quot;,   \</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">            __FILE__,                       \</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">            __LINE__, ##__VA_ARGS__)</span></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">    #define xran_log_dbg(fmt, ...)</span></div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8">  174</a></span>&#160;<span class="preprocessor">    #define xran_log_wrn(fmt, ...)</span></div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a8f97ad3d53e73a2807e3b2cf097e267a">  175</a></span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#define xran_log_err(fmt, ...)          \</span></div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a02b163e2e7f90f2c7941fdcb19ebcb3e">  178</a></span>&#160;<span class="preprocessor">    fprintf(stderr,                     \</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">        &quot;ERROR: %s(%d): &quot; fmt &quot;\n&quot;,     \</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">        __FILE__,                       \</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">        __LINE__, ##__VA_ARGS__)</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae">XranFrameDuplexType</a></div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae">  184</a></span>&#160;{</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0">XRAN_FDD</a> = 0, <a class="code" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08">XRAN_TDD</a></div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08">  186</a></span>&#160;};</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a></div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">  189</a></span>&#160;{</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080">XRAN_INIT</a> = 0,</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080">  191</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e">XRAN_RUNNING</a>,</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e">  192</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a></div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">  193</a></span>&#160;};</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615">xran_compression_method</a> {</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615">  203</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">XRAN_COMPMETHOD_NONE</a>        = 0,</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">  204</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28">XRAN_COMPMETHOD_BLKFLOAT</a>    = 1,</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28">  205</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76">XRAN_COMPMETHOD_BLKSCALE</a>    = 2,</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76">  206</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713">XRAN_COMPMETHOD_ULAW</a>        = 3,</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713">  207</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c">XRAN_COMPMETHOD_MODULATION</a>  = 4,</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c">  208</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae">XRAN_COMPMETHOD_MAX</a></div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae">  209</a></span>&#160;};</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">callback_to_phy_id</a></div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">  219</a></span>&#160;{</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a> = 0, </div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">  221</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a> =1, </div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">  222</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a> =2, </div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">  223</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d">XRAN_CB_MAX</a> </div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d">  224</a></span>&#160;};</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059">xran_weight_based_beamforming_type</a> {</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059">  229</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3">XRAN_BF_T_FREQUENCY</a> = 0,</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3">  230</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d">XRAN_BF_T_TIME</a>      = 1,</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d">  231</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb">XRAN_BF_T_HYBRID</a>    = 2,</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb">  232</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003">XRAN_BF_T_MAX</a></div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003">  233</a></span>&#160;};</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keyword">typedef</span> int32_t <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a>; </div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">xran_callback_sym_fn</a>)(<span class="keywordtype">void</span>*);</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">  239</a></span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keyword">typedef</span> int (*<a class="code" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a>)(<span class="keywordtype">void</span>*);</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">  242</a></span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a>)(<span class="keywordtype">void</span>*, <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a>);</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">  245</a></span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">typedef</span> int16_t (*<a class="code" href="xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679">phy_encoder_poll_fn</a>)(void);</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679">  248</a></span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keyword">typedef</span> int16_t (*<a class="code" href="xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade">phy_decoder_poll_fn</a>)(void);</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade">  251</a></span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a">xran_vf_ports</a></div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a">  254</a></span>&#160;{</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab">XRAN_UP_VF</a> = 0, </div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab">  256</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a">XRAN_CP_VF</a>,     </div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a">  257</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac">XRAN_VF_MAX</a></div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac">  258</a></span>&#160;};</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a></div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">  262</a></span>&#160;{</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a> = 0,</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">  264</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a> = 1,</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">  265</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561">XRAN_CATEGORY_MAX</a></div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561">  266</a></span>&#160;};</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27">xran_beamforming_type</a></div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27">  270</a></span>&#160;{</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">XRAN_BEAM_ID_BASED</a> = 0, </div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">  272</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">XRAN_BEAM_WEIGHT</a>,       </div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">  273</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd">XRAN_BEAM_ATTRIBUTE</a>,    </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd">  274</a></span>&#160;};</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba">xran_bbdev_init</a></div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba">  278</a></span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">XRAN_BBDEV_NOT_USED</a>    = -1, </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">  280</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0">XRAN_BBDEV_MODE_HW_OFF</a> = 0,  </div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0">  281</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39">XRAN_BBDEV_MODE_HW_ON</a>  = 1,  </div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39">  282</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09">XRAN_BBDEV_MODE_MAX</a></div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09">  283</a></span>&#160;};</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__cb__tag.html">xran_cb_tag</a> {</div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="structxran__cb__tag.html">  287</a></span>&#160;    uint16_t <a class="code" href="structxran__cb__tag.html#a4daa962a4ae09a2811670d1fa4875f5f">cellId</a>;</div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="structxran__cb__tag.html#a4daa962a4ae09a2811670d1fa4875f5f">  288</a></span>&#160;    uint32_t <a class="code" href="structxran__cb__tag.html#a0a81ee27053a63e71a6c7db060562eb0">symbol</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="structxran__cb__tag.html#a0a81ee27053a63e71a6c7db060562eb0">  289</a></span>&#160;    uint32_t <a class="code" href="structxran__cb__tag.html#a88d73cc1cc6695b6e27bad4609d887e1">slotiId</a>;</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="structxran__cb__tag.html#a88d73cc1cc6695b6e27bad4609d887e1">  290</a></span>&#160;};</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__io__cfg.html">xran_io_cfg</a> {</div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html">  294</a></span>&#160;    uint8_t id; </div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#a1e6927fa1486224044e568f9c370519b">  295</a></span>&#160;    <span class="keywordtype">char</span> *dpdk_dev[<a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac">XRAN_VF_MAX</a>]; </div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#ae58734e2aff608373089778da1aa4efa">  296</a></span>&#160;    <span class="keywordtype">char</span> *bbdev_dev[1];     </div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#a64ddf49fc9f31dbe434f9ee6b0a08db4">  297</a></span>&#160;    int32_t bbdev_mode;     </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c">  298</a></span>&#160;    int32_t core;           </div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#a53341e81716fce9aeddee73d7228f2bf">  299</a></span>&#160;    int32_t system_core;    </div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#a727bdc89e33bfc7d18dfaf166d46598a">  300</a></span>&#160;    int32_t pkt_proc_core;  </div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#a7ea8f53112b353d5e98cc955437f3706">  301</a></span>&#160;    int32_t pkt_aux_core;   </div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#afc9b03cdc767412993891263da114dc3">  302</a></span>&#160;    int32_t timing_core;    </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#aa442a227739dcff5212e5356dee54b68">  303</a></span>&#160;    int32_t port[<a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac">XRAN_VF_MAX</a>];  </div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="structxran__io__cfg.html#ab4a87dda9c9ac332a46e6a9b8a8b8315">  304</a></span>&#160;};</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__eaxcid__config.html">xran_eaxcid_config</a> {</div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html">  308</a></span>&#160;    uint16_t mask_cuPortId;     </div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#a3357253b181bed8132156f87728efc8d">  309</a></span>&#160;    uint16_t mask_bandSectorId; </div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#affca087d8bc179073b5ae2f429340898">  310</a></span>&#160;    uint16_t mask_ccId;         </div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#a0ba87d865af2deb1ee2565f528e1e72d">  311</a></span>&#160;    uint16_t mask_ruPortId;     </div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    uint8_t bit_cuPortId;       </div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b">  314</a></span>&#160;    uint8_t bit_bandSectorId;   </div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594">  315</a></span>&#160;    uint8_t bit_ccId;           </div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455">  316</a></span>&#160;    uint8_t bit_ruPortId;       </div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23">  317</a></span>&#160;};</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__fh__init.html">xran_fh_init</a> {</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="structxran__fh__init.html">  323</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__io__cfg.html">xran_io_cfg</a> io_cfg;</div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">  324</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__eaxcid__config.html">xran_eaxcid_config</a> eAxCId_conf; </div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    uint32_t dpdkBasebandFecMode; </div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a4f3d38bbb69d7dc49515ba2e0002537e">  327</a></span>&#160;    <span class="keywordtype">char</span> *dpdkBasebandDevice;     </div><div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ab783700ba1f1b7d6d617a102f01e2e8a">  328</a></span>&#160;    <span class="keywordtype">char</span> *filePrefix;             </div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    uint32_t mtu; </div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    int8_t *p_o_du_addr;  </div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">  333</a></span>&#160;    int8_t *p_o_ru_addr;  </div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    uint16_t totalBfWeights;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    uint16_t Tadv_cp_dl;    </div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a05dca46f0128cb233e7d4f73215cc4a9">  338</a></span>&#160;    uint16_t T2a_min_cp_dl; </div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#aebed6420fb04aabce30025eec4583807">  339</a></span>&#160;    uint16_t T2a_max_cp_dl; </div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a5df6250657a91c27fa2416154ec5a609">  340</a></span>&#160;    uint16_t T2a_min_cp_ul; </div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#acfa0c4237b95b1dc83d19e00d6487ec0">  341</a></span>&#160;    uint16_t T2a_max_cp_ul; </div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a60007ed3e328b06fb7f7ff2b3a37dac5">  342</a></span>&#160;    uint16_t T2a_min_up;    </div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#aac84937e634fccb665c6de923af50c0f">  343</a></span>&#160;    uint16_t T2a_max_up;    </div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#af27977cbf63a8beb2fd6b1f17c1502df">  344</a></span>&#160;    uint16_t Ta3_min;       </div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ac2e5d027408848a38879331bf54d5adf">  345</a></span>&#160;    uint16_t Ta3_max;       </div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a82517c890db705ee58767fd245193214">  346</a></span>&#160;    uint16_t T1a_min_cp_dl; </div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a73b80929304dcde73f2c2f6d4f7448fa">  347</a></span>&#160;    uint16_t T1a_max_cp_dl; </div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a6080f8ca5894be470378d6f265c1f665">  348</a></span>&#160;    uint16_t T1a_min_cp_ul; </div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ab2d0817976952478020b3437b3dbbfc3">  349</a></span>&#160;    uint16_t T1a_max_cp_ul; </div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a71254f497cb48a57b123c7f4897b7a38">  350</a></span>&#160;    uint16_t T1a_min_up;    </div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a0447175262da4e12814983c97d73ad21">  351</a></span>&#160;    uint16_t T1a_max_up;    </div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a76ae7531da0aa8656d95c194f1e75b0f">  352</a></span>&#160;    uint16_t Ta4_min;       </div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ad8a8a60941ab888de5187345ce5fc92c">  353</a></span>&#160;    uint16_t Ta4_max;       </div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    uint8_t enableCP;       </div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38">  356</a></span>&#160;    uint8_t prachEnable;    </div><div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ac0646000d1448798a186e109df0bb3dd">  357</a></span>&#160;    uint8_t srsEnable;      </div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a367975ed81727c2747411672f73b2754">  358</a></span>&#160;    uint8_t cp_vlan_tag;    </div><div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#adc6cb9229207f58f6c4375305dcb5384">  359</a></span>&#160;    uint8_t up_vlan_tag;    </div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ae5c22bf3cd63e278914bf627dab04ce8">  360</a></span>&#160;    int32_t debugStop;      </div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a8ad55119f3b227785857aaddef6a8384">  361</a></span>&#160;    int32_t debugStopCount;      </div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a0ce1293a9896f3e28d960a0b1d9dc911">  362</a></span>&#160;    int32_t DynamicSectionEna; </div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#a6fcbf469691a192f1ce298f70981c17a">  363</a></span>&#160;    int32_t GPS_Alpha;  <span class="comment">// refer to alpha as defined in section 9.7.2 of ORAN spec. this value should be alpha*(1/1.2288ns), range 0 - 1e7 (ns)</span></div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#ae2b1a8eb1532f9f5aedc946086bec354">  364</a></span>&#160;    int32_t GPS_Beta;   <span class="comment">//beta value as defined in section 9.7.2 of ORAN spec. range -32767 ~ +32767</span></div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="structxran__fh__init.html#aba260ecc47cc76ee126e5b9837f31ab8">  365</a></span>&#160;};</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__cp__bf__weight.html">xran_cp_bf_weight</a>{</div><div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="structxran__cp__bf__weight.html">  369</a></span>&#160;    int16_t nAntElmTRx;        </div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="structxran__cp__bf__weight.html#a5a0bb9b26c357c93eb4a7822b5272300">  370</a></span>&#160;    int8_t*  p_ext_section;    </div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="structxran__cp__bf__weight.html#ab3eed3d1b60ab946d704b2dfe7890d91">  371</a></span>&#160;    int16_t  ext_section_sz;   </div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="structxran__cp__bf__weight.html#a17671b66262aad67690f1c6f50b11c67">  372</a></span>&#160;};</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__cp__bf__attribute.html">xran_cp_bf_attribute</a>{</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="structxran__cp__bf__attribute.html">  374</a></span>&#160;    int16_t weight[4];</div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="structxran__cp__bf__attribute.html#a6327553f15198377152abe9523b68847">  375</a></span>&#160;};</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__cp__bf__precoding.html">xran_cp_bf_precoding</a>{</div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="structxran__cp__bf__precoding.html">  377</a></span>&#160;    int16_t weight[4];</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="structxran__cp__bf__precoding.html#a6327553f15198377152abe9523b68847">  378</a></span>&#160;};</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__section__desc.html">xran_section_desc</a> {</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="structxran__section__desc.html">  382</a></span>&#160;    uint16_t section_id; </div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    int16_t iq_buffer_offset;    </div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="structxran__section__desc.html#a4d1fb35f3f2d9f3556fbd1761a167255">  385</a></span>&#160;    int16_t iq_buffer_len;       </div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    uint8_t *pData;      </div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="structxran__section__desc.html#a77f0d5374ee675db57c0b29946ca7744">  388</a></span>&#160;    <span class="keywordtype">void</span>    *pCtrl;      </div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="structxran__section__desc.html#addb9297d816b26c680888115de8c9538">  389</a></span>&#160;};</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__prb__elm.html">xran_prb_elm</a> {</div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html">  393</a></span>&#160;    int16_t nRBStart;    </div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">  394</a></span>&#160;    int16_t nRBSize;     </div><div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729">  395</a></span>&#160;    int16_t nStartSymb;  </div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a5acab5eec7096fb7732c804f71f02a4d">  396</a></span>&#160;    int16_t numSymb;     </div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#ad2586af82c76901c361a2d08a6ba553b">  397</a></span>&#160;    int16_t nBeamIndex;  </div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#aba198438bbacf8f73b6bfa481b365ce5">  398</a></span>&#160;    int16_t bf_weight_update; </div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b">  399</a></span>&#160;    int16_t compMethod;  </div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#ad73157f14fa98c54fb563244c1327933">  400</a></span>&#160;    int16_t iqWidth;     </div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a36f5a0cedd274c3ec55f81535f06e0de">  401</a></span>&#160;    int16_t BeamFormingType; </div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__section__desc.html">xran_section_desc</a> * p_sec_desc[<a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>]; </div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a6c405fdd34c38d29b355cd051527ad9b">  404</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__cp__bf__weight.html">xran_cp_bf_weight</a>   bf_weight; </div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keyword">union </span>{</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        <span class="keyword">struct </span><a class="code" href="structxran__cp__bf__attribute.html">xran_cp_bf_attribute</a> bf_attribute;</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a3e5b780c49cb9d6ec97dcd4762f8ac34">  408</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structxran__cp__bf__precoding.html">xran_cp_bf_precoding</a> bf_precoding;</div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="structxran__prb__elm.html#a78ed222752b307427c62c9f4c1e4c8be">  409</a></span>&#160;    };</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;};</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> {</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="structxran__prb__map.html">  414</a></span>&#160;    uint8_t   dir;        </div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a92abda0bec7c1c978fe96f87aad18067">  415</a></span>&#160;    uint8_t   xran_port;  </div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a5ca9a2b3d2a5c902f8153e3e383049be">  416</a></span>&#160;    uint16_t  band_id;    </div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a1c85ead6321835264d2451291430a7da">  417</a></span>&#160;    uint16_t  cc_id;      </div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69">  418</a></span>&#160;    uint16_t  ru_port_id; </div><div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a16b7b2d1f57da5ed39e7e3a026592a85">  419</a></span>&#160;    uint16_t  tti_id;     </div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a689e28eeb2f378d4dc5f915a30f560db">  420</a></span>&#160;    uint8_t   start_sym_id;     </div><div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#afc7dda8bf6b9a76f94c88c3610d9c594">  421</a></span>&#160;    uint32_t  nPrbElm;    </div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4">  422</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__prb__elm.html">xran_prb_elm</a> prbMap[<a class="code" href="xran__fh__o__du_8h.html#a9435009d03a49d495b2b608129c64b61">XRAN_MAX_PRBS</a>];</div><div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">  423</a></span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;};</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="comment">/* PRACH config required for XRAN based FH */</span></div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__prach__config.html">xran_prach_config</a></div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="structxran__prach__config.html">  429</a></span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="comment">/* PRACH config*/</span></div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    uint8_t      nPrachConfIdx;  </div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6">  432</a></span>&#160;    uint8_t      nPrachSubcSpacing;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    uint8_t      nPrachZeroCorrConf; </div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#a45ae197adc4010202a5b71d7b602bc0c">  438</a></span>&#160;    uint8_t      nPrachRestrictSet;  </div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#a26e6c95dfde831c2588d46dde588c751">  439</a></span>&#160;    uint16_t     nPrachRootSeqIdx; </div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#a66b19aaa946c36b309a3403b3d576c58">  440</a></span>&#160;    uint16_t     nPrachFreqStart;  </div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf">  441</a></span>&#160;    int32_t      nPrachFreqOffset; </div><div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf">  442</a></span>&#160;    uint8_t      nPrachFilterIdx;  </div><div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="structxran__prach__config.html#ab3ca7a740428b7023b7e29197124983b">  443</a></span>&#160;};</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__srs__config.html">xran_srs_config</a> {</div><div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="structxran__srs__config.html">  447</a></span>&#160;    uint16_t   symbMask;    </div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="structxran__srs__config.html#a47592bac9bb3ddd09772d5385ffdd508">  448</a></span>&#160;    uint8_t    eAxC_offset; </div><div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="structxran__srs__config.html#a38a5594e33178248d80ccde98a16262a">  449</a></span>&#160;};</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__slot__config.html">xran_slot_config</a> {</div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="structxran__slot__config.html">  453</a></span>&#160;    uint8_t nSymbolType[<a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>]; </div><div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="structxran__slot__config.html#a37a7dc4b204c22c2d8b9da9b07abd154">  454</a></span>&#160;    uint8_t <a class="code" href="xran__pkt__cp_8h.html#a5a6ed8c04a3db86066924b1a1bf4dad3">reserved</a>[2];</div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28">  455</a></span>&#160;};</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__frame__config.html">xran_frame_config</a> {</div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="structxran__frame__config.html">  459</a></span>&#160;    uint8_t      nFrameDuplexType; </div><div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">  460</a></span>&#160;    uint8_t      nNumerology; </div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    uint8_t      nTddPeriod;  </div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="structxran__frame__config.html#a53a1d989c6dee827495401b1973c9ef8">  464</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__slot__config.html">xran_slot_config</a> sSlotConfig[<a class="code" href="xran__fh__o__du_8h.html#aba79881ec9b30850184b4f5f6b0afc39">XRAN_MAX_TDD_PERIODICITY</a>];</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="comment">/* The number of slots need to be equal to nTddPeriod */</span></div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;};</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a> {</div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">  471</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8">XRAN_NE_BE_BYTE_ORDER</a> = 0, </div><div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8">  472</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098">XRAN_CPU_LE_BYTE_ORDER</a>     </div><div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098">  473</a></span>&#160;};</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859">xran_input_i_q_order</a> {</div><div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859">  477</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21">XRAN_I_Q_ORDER</a> = 0,  </div><div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21">  478</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3">XRAN_Q_I_ORDER</a>       </div><div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3">  479</a></span>&#160;};</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__ru__config.html">xran_ru_config</a> {</div><div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="structxran__ru__config.html">  483</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a> xranCat;   </div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    uint8_t iqWidth;        </div><div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="structxran__ru__config.html#a1520b1ef6131bff6c14b88d849c266c5">  486</a></span>&#160;    uint8_t compMeth;       </div><div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="structxran__ru__config.html#a1e4a3c43fc7865c6520471fb9ba8501f">  487</a></span>&#160;    uint8_t <a class="code" href="xran__pkt__cp_8h.html#a59e7e8f3feb686850b0cb0ae065de85b">fftSize</a>;        </div><div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="structxran__ru__config.html#a59e7e8f3feb686850b0cb0ae065de85b">  488</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a> byteOrder; </div><div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="structxran__ru__config.html#a74e72997edeea7f9f1696baffb9989b4">  489</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859">xran_input_i_q_order</a>  iqOrder;   </div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="structxran__ru__config.html#ad1b1309ca2645e24fa201f8decae1988">  490</a></span>&#160;    uint16_t <a class="code" href="xran__frame__struct_8c.html#a7a25206e77e83a57fd036102cebfb4f0">xran_max_frame</a>; </div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="structxran__ru__config.html#a7a25206e77e83a57fd036102cebfb4f0">  491</a></span>&#160;};</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__fh__config.html">xran_fh_config</a> {</div><div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="structxran__fh__config.html">  497</a></span>&#160;    uint32_t            dpdk_port; </div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#acd95c2211d7c4274883572ee1ac829f4">  498</a></span>&#160;    uint32_t            sector_id; </div><div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#ad972d84bc9f4c3d7714a3e398abb2a82">  499</a></span>&#160;    uint32_t            nCC;       </div><div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">  500</a></span>&#160;    uint32_t            neAxc;     </div><div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">  501</a></span>&#160;    uint32_t            neAxcUl;     </div><div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a6b9c6f2e0bae93c45674bea4082c8a7a">  502</a></span>&#160;    uint32_t            nAntElmTRx;  </div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#ac63d8c67956a8a08cbfd8efb92a2f055">  503</a></span>&#160;    uint16_t            nDLFftSize;  </div><div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a8956e982993d4b310e3bffe207f66405">  504</a></span>&#160;    uint16_t            nULFftSize;  </div><div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#ae4908e70f937e7eca578e348f4e3911f">  505</a></span>&#160;    uint16_t            nDLRBs;      </div><div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a7917929ae3bb588a5bf6f4e56cf9549e">  506</a></span>&#160;    uint16_t            nULRBs;      </div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a5448b37ad609bb66bf44b44d1f9bac72">  507</a></span>&#160;    uint32_t            nDLAbsFrePointA; </div><div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#ac0e69adfb3c3429ce7f7b9a568959934">  508</a></span>&#160;    uint32_t            nULAbsFrePointA; </div><div class="line"><a name="l00509"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a6db9b8b082db12b94c9d7b910a2bf747">  509</a></span>&#160;    uint32_t            nDLCenterFreqARFCN;   </div><div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#acd9d2cad066dac9c7ae84a0edbc9b8ae">  510</a></span>&#160;    uint32_t            nULCenterFreqARFCN;   </div><div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a1fbf2d7a3e30db571b28c7800f38765d">  511</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a>     ttiCb;        </div><div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#ac5dde77f03307e306f2a05821bc5179a">  512</a></span>&#160;    <span class="keywordtype">void</span>                *ttiCbParam;  </div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__prach__config.html">xran_prach_config</a>     prach_conf;   </div><div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">  515</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__srs__config.html">xran_srs_config</a>       srs_conf;     </div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a418f7a13335ab7fbfb840bae611ed0e5">  516</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__frame__config.html">xran_frame_config</a>     frame_conf;   </div><div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">  517</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__ru__config.html">xran_ru_config</a>        ru_conf;      </div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679">phy_encoder_poll_fn</a> bbdev_enc; </div><div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a82f0cc2ac9daada1e8330e3a91ec296b">  520</a></span>&#160;    <a class="code" href="xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade">phy_decoder_poll_fn</a> bbdev_dec; </div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    uint32_t log_level; </div><div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad">  523</a></span>&#160;};</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__common__counters.html">xran_common_counters</a>{</div><div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="structxran__common__counters.html">  529</a></span>&#160;    uint64_t Rx_on_time;      </div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="structxran__common__counters.html#a6094e9310d30333fffbdeec6da91007c">  530</a></span>&#160;    uint64_t Rx_early;        </div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="structxran__common__counters.html#a1b07b459f4a9596d5c4a615d9e47fea2">  531</a></span>&#160;    uint64_t Rx_late;         </div><div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="structxran__common__counters.html#a2c33ad6e68efd74811ca61eada4f52f2">  532</a></span>&#160;    uint64_t Rx_corrupt;      </div><div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="structxran__common__counters.html#af07bbcc73027d046cf79aaeeaea95d28">  533</a></span>&#160;    uint64_t Rx_pkt_dupl;     </div><div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="structxran__common__counters.html#a98356b862ea13ddc58a1378a67c4bf8e">  534</a></span>&#160;    uint64_t Total_msgs_rcvd; </div><div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="structxran__common__counters.html#ad863eb3e9dc4a977cce64405ec2780c7">  535</a></span>&#160;};</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> * <a class="code" href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">xran_cc_handle_t</a>;</div><div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">  541</a></span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a></div><div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="structxran__flat__buffer.html">  553</a></span>&#160;{</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    uint32_t nElementLenInBytes;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    uint32_t nNumberOfElements;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    uint32_t nOffsetInBytes;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    uint32_t nIsPhyAddr;</div><div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="structxran__flat__buffer.html#a0119c99b1fb0b423f6c1acf165cb8930">  565</a></span>&#160;    uint8_t *pData;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keywordtype">void</span> *pCtrl;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;};</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="keyword">struct </span><a class="code" href="structxran__buffer__list.html">xran_buffer_list</a></div><div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="structxran__buffer__list.html">  592</a></span>&#160;{</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    uint32_t nNumBuffers;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> *pBuffers;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    <span class="keywordtype">void</span> *pUserData;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordtype">void</span> *pPrivateMetaData;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;};</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f">xran_init</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[], <span class="keyword">struct</span> <a class="code" href="structxran__fh__init.html">xran_fh_init</a> *p_xran_fh_init, <span class="keywordtype">char</span> *appName, <span class="keywordtype">void</span> ** pHandle);</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5">xran_sector_get_instances</a> (<span class="keywordtype">void</span> * pHandle, uint16_t nNumInstances,</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;               xran_cc_handle_t * pSectorInstanceHandles);</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962">xran_mm_init</a> (<span class="keywordtype">void</span> * pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize);</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a> (<span class="keywordtype">void</span> * pHandle, uint32_t * pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize);</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(<span class="keywordtype">void</span> * pHandle, uint32_t nPoolIndex, <span class="keywordtype">void</span> **ppData,  <span class="keywordtype">void</span> **ppCtrl);</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a0f904fe772b55bcfc449759a23063aa3">xran_bm_free_buffer</a>(<span class="keywordtype">void</span> * pHandle, <span class="keywordtype">void</span> *<a class="code" href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">pData</a>, <span class="keywordtype">void</span> *<a class="code" href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">pCtrl</a>);</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a4120602c15ddabfc3372e238d17f0414">xran_mm_destroy</a> (<span class="keywordtype">void</span> * pHandle);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160; int32_t <a class="code" href="xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be">xran_5g_fronthault_config</a> (<span class="keywordtype">void</span> * pHandle,</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;                    <span class="keyword">struct</span> <a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pSrcBuffer[<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>],</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;                    <span class="keyword">struct</span> <a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pSrcCpBuffer[<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][XRAN_N_FE_BUF_LEN],</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;                    <span class="keyword">struct</span> <a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstBuffer[<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][XRAN_N_FE_BUF_LEN],</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;                    <span class="keyword">struct</span> <a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstCpBuffer[<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][XRAN_N_FE_BUF_LEN],</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;                    <a class="code" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a> pCallback,</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;                    <span class="keywordtype">void</span> *pCallbackTag);</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25">xran_5g_prach_req</a> (<span class="keywordtype">void</span> *  pHandle,</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;                <span class="keyword">struct</span> <a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstBuffer[<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>][XRAN_N_FE_BUF_LEN],</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;                <a class="code" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a> pCallback,</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;                <span class="keywordtype">void</span> *pCallbackTag);</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a2bd01fc3432f80a787d6bf317949dd80">xran_5g_srs_req</a> (<span class="keywordtype">void</span> *  pHandle,</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;                <span class="keyword">struct</span> <a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pDstBuffer[<a class="code" href="xran__fh__o__du_8h.html#af3e0ced3530652b3c92220c8783b55fa">XRAN_MAX_ANT_ARRAY_ELM_NR</a>][XRAN_N_FE_BUF_LEN],</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;                <a class="code" href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a> pCallback,</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;                <span class="keywordtype">void</span> *pCallbackTag);</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;uint32_t <a class="code" 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);</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70">xran_open</a>(<span class="keywordtype">void</span> *pHandle, <span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a>* pConf);</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1">xran_start</a>(<span class="keywordtype">void</span> *pHandle);</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;</div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3">xran_stop</a>(<span class="keywordtype">void</span> *pHandle);</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b">xran_close</a>(<span class="keywordtype">void</span> *pHandle);</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#adfcabe4091a4782ecb9ca029314c99ca">xran_reg_sym_cb</a>(<span class="keywordtype">void</span> *pHandle, <a class="code" href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">xran_callback_sym_fn</a> symCb, <span class="keywordtype">void</span> * symCbParam, uint8_t symb, uint8_t <a class="code" href="gen__test_8m.html#a38d2cdf58cc777c61b71dd2785d139af">ant</a>);</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;</div><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<span class="keywordtype">void</span> *pHandle, <a class="code" href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a> Cb, <span class="keywordtype">void</span> *cbParam, <span class="keywordtype">int</span> skipTtiNum, <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">callback_to_phy_id</a>);</div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;int32_t <a class="code" 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);</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;int32_t <a class="code" href="xran__fh__o__du_8h.html#ac153c5a3e3f4f64ab0fafca6f593c380">xran_get_common_counters</a>(<span class="keywordtype">void</span> *pXranLayerHandle, <span class="keyword">struct</span> <a class="code" href="structxran__common__counters.html">xran_common_counters</a> *pStats);</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;<span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a> <a class="code" href="xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b">xran_get_if_state</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;<span class="keywordtype">void</span>*    <a class="code" href="xran__fh__o__du_8h.html#ad32fb64c20521dbcfeb317e143046e27">xran_malloc</a>(<span class="keywordtype">size_t</span> buf_len);</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;uint8_t* <a class="code" href="xran__fh__o__du_8h.html#a68b53cf51fb3aee4a6d8be54d540965a">xran_add_hdr_offset</a>(uint8_t  *dst, int16_t compMethod);</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;}</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _XRAN_FH_O_DU_H_*/</span><span class="preprocessor"></span></div><div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">XRAN_BBDEV_NOT_USED</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00280">xran_fh_o_du.h:280</a></div></div>
71 <div class="ttc" id="xran__fh__o__du_8h_html_ac153c5a3e3f4f64ab0fafca6f593c380"><div class="ttname"><a href="xran__fh__o__du_8h.html#ac153c5a3e3f4f64ab0fafca6f593c380">xran_get_common_counters</a></div><div class="ttdeci">int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l03074">xran_main.c:3074</a></div></div>
72 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00264">xran_fh_o_du.h:264</a></div></div>
73 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00265">xran_fh_o_du.h:265</a></div></div>
74 <div class="ttc" id="xran__fh__o__du_8h_html_a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a"><div class="ttname"><a href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a">XRAN_CP_VF</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00257">xran_fh_o_du.h:257</a></div></div>
75 <div class="ttc" id="xran__fh__o__du_8h_html_af3e0ced3530652b3c92220c8783b55fa"><div class="ttname"><a href="xran__fh__o__du_8h.html#af3e0ced3530652b3c92220c8783b55fa">XRAN_MAX_ANT_ARRAY_ELM_NR</a></div><div class="ttdeci">#define XRAN_MAX_ANT_ARRAY_ELM_NR</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00118">xran_fh_o_du.h:118</a></div></div>
76 <div class="ttc" id="xran__fh__o__du_8h_html_af0963ba32cc8ecd280afd2e474eb426a"><div class="ttname"><a href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a></div><div class="ttdeci">#define XRAN_N_FE_BUF_LEN</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00109">xran_fh_o_du.h:109</a></div></div>
77 <div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39">XRAN_BBDEV_MODE_HW_ON</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00282">xran_fh_o_du.h:282</a></div></div>
78 <div class="ttc" id="xran__fh__o__du_8h_html_a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00222">xran_fh_o_du.h:222</a></div></div>
79 <div class="ttc" id="xran__fh__o__du_8h_html_a03f408f45e97aa68ca47c92e4e7d1a70"><div class="ttname"><a href="xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70">xran_open</a></div><div class="ttdeci">int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02756">xran_main.c:2756</a></div></div>
80 <div class="ttc" id="xran__fh__o__du_8h_html_a9435009d03a49d495b2b608129c64b61"><div class="ttname"><a href="xran__fh__o__du_8h.html#a9435009d03a49d495b2b608129c64b61">XRAN_MAX_PRBS</a></div><div class="ttdeci">#define XRAN_MAX_PRBS</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00128">xran_fh_o_du.h:128</a></div></div>
81 <div class="ttc" id="structxran__section__desc_html"><div class="ttname"><a href="structxran__section__desc.html">xran_section_desc</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00382">xran_fh_o_du.h:382</a></div></div>
82 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561">XRAN_CATEGORY_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00266">xran_fh_o_du.h:266</a></div></div>
83 <div class="ttc" id="gen__test_8m_html_a38d2cdf58cc777c61b71dd2785d139af"><div class="ttname"><a href="gen__test_8m.html#a38d2cdf58cc777c61b71dd2785d139af">ant</a></div><div class="ttdeci">end write files for IQ samples for ant</div><div class="ttdef"><b>Definition:</b> <a href="gen__test_8m_source.html#l00166">gen_test.m:166</a></div></div>
84 <div class="ttc" id="xran__fh__o__du_8h_html_a3efe8aba779b0a2f90adc02065579f5f"><div class="ttname"><a href="xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f">xran_init</a></div><div class="ttdeci">int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02319">xran_main.c:2319</a></div></div>
85 <div class="ttc" id="xran__fh__o__du_8h_html_adfcabe4091a4782ecb9ca029314c99ca"><div class="ttname"><a href="xran__fh__o__du_8h.html#adfcabe4091a4782ecb9ca029314c99ca">xran_reg_sym_cb</a></div><div class="ttdeci">int32_t xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02888">xran_main.c:2888</a></div></div>
86 <div class="ttc" id="xran__fh__o__du_8h_html_a999189549fd6b524b733ddd61f1f9962"><div class="ttname"><a href="xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962">xran_mm_init</a></div><div class="ttdeci">int32_t xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02447">xran_main.c:2447</a></div></div>
87 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30e"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a></div><div class="ttdeci">xran_category</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00262">xran_fh_o_du.h:262</a></div></div>
88 <div class="ttc" id="xran__fh__o__du_8h_html_a1784f85d62401cba0ffb49c4d2467aae"><div class="ttname"><a href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae">XranFrameDuplexType</a></div><div class="ttdeci">XranFrameDuplexType</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00184">xran_fh_o_du.h:184</a></div></div>
89 <div class="ttc" id="structxran__cb__tag_html_a4daa962a4ae09a2811670d1fa4875f5f"><div class="ttname"><a href="structxran__cb__tag.html#a4daa962a4ae09a2811670d1fa4875f5f">xran_cb_tag::cellId</a></div><div class="ttdeci">uint16_t cellId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00288">xran_fh_o_du.h:288</a></div></div>
90 <div class="ttc" id="xran__fh__o__du_8h_html_a2c1d5f131c5a23d8339f1babb3b22ade"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade">phy_decoder_poll_fn</a></div><div class="ttdeci">int16_t(* phy_decoder_poll_fn)(void)</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00251">xran_fh_o_du.h:251</a></div></div>
91 <div class="ttc" id="structxran__common__counters_html"><div class="ttname"><a href="structxran__common__counters.html">xran_common_counters</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00529">xran_fh_o_du.h:529</a></div></div>
92 <div class="ttc" id="xran__fh__o__du_8h_html_a39a9f7b5d01979eb1f8d806d6b9c50fe"><div class="ttname"><a href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a></div><div class="ttdeci">int32_t xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02454">xran_main.c:2454</a></div></div>
93 <div class="ttc" id="structxran__eaxcid__config_html"><div class="ttname"><a href="structxran__eaxcid__config.html">xran_eaxcid_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00308">xran_fh_o_du.h:308</a></div></div>
94 <div class="ttc" id="xran__fh__o__du_8h_html_a0d9cb4cebbc59a8fa5bfef7547898859"><div class="ttname"><a href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859">xran_input_i_q_order</a></div><div class="ttdeci">xran_input_i_q_order</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00477">xran_fh_o_du.h:477</a></div></div>
95 <div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09">XRAN_BBDEV_MODE_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00283">xran_fh_o_du.h:283</a></div></div>
96 <div class="ttc" id="xran__fh__o__du_8h_html_a2816fdf0ed3269e998720d01c2b6bf76"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2816fdf0ed3269e998720d01c2b6bf76">xran_get_slot_idx</a></div><div class="ttdeci">int32_t xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02936">xran_main.c:2936</a></div></div>
97 <div class="ttc" id="xran__fh__o__du_8h_html_a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00223">xran_fh_o_du.h:223</a></div></div>
98 <div class="ttc" id="xran__fh__o__du_8h_html_a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3"><div class="ttname"><a href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3">XRAN_BF_T_FREQUENCY</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00230">xran_fh_o_du.h:230</a></div></div>
99 <div class="ttc" id="xran__fh__o__du_8h_html_a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08"><div class="ttname"><a href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08">XRAN_TDD</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00186">xran_fh_o_du.h:186</a></div></div>
100 <div class="ttc" id="xran__fh__o__du_8h_html_a68b53cf51fb3aee4a6d8be54d540965a"><div class="ttname"><a href="xran__fh__o__du_8h.html#a68b53cf51fb3aee4a6d8be54d540965a">xran_add_hdr_offset</a></div><div class="ttdeci">uint8_t * xran_add_hdr_offset(uint8_t *dst, int16_t compMethod)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02741">xran_main.c:2741</a></div></div>
101 <div class="ttc" id="structxran__cp__bf__weight_html"><div class="ttname"><a href="structxran__cp__bf__weight.html">xran_cp_bf_weight</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00369">xran_fh_o_du.h:369</a></div></div>
102 <div class="ttc" id="structxran__cp__bf__attribute_html"><div class="ttname"><a href="structxran__cp__bf__attribute.html">xran_cp_bf_attribute</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00374">xran_fh_o_du.h:374</a></div></div>
103 <div class="ttc" id="xran__fh__o__du_8h_html_ad4852c0827600db95f9841e2f5f9f6f1"><div class="ttname"><a href="xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1">xran_start</a></div><div class="ttdeci">int32_t xran_start(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02841">xran_main.c:2841</a></div></div>
104 <div class="ttc" id="xran__fh__o__du_8h_html_a80cd33d519d5b1993e2a1de8b78b3059"><div class="ttname"><a href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059">xran_weight_based_beamforming_type</a></div><div class="ttdeci">xran_weight_based_beamforming_type</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00229">xran_fh_o_du.h:229</a></div></div>
105 <div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0">XRAN_BBDEV_MODE_HW_OFF</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00281">xran_fh_o_du.h:281</a></div></div>
106 <div class="ttc" id="structxran__prb__map_html"><div class="ttname"><a href="structxran__prb__map.html">xran_prb_map</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00414">xran_fh_o_du.h:414</a></div></div>
107 <div class="ttc" id="xran__fh__o__du_8h_html_a35fa05e7523928c0c86cbcf835c12dc5"><div class="ttname"><a href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a></div><div class="ttdeci">#define XRAN_MAX_ANTENNA_NR</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00111">xran_fh_o_du.h:111</a></div></div>
108 <div class="ttc" id="xran__fh__o__du_8h_html_afe623da85d4542bce592f333046e2c81"><div class="ttname"><a href="xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81">xran_cc_handle_t</a></div><div class="ttdeci">void * xran_cc_handle_t</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00541">xran_fh_o_du.h:541</a></div></div>
109 <div class="ttc" id="xran__fh__o__du_8h_html_a937105f52446cfcb951e43e1dc3c4d8b"><div class="ttname"><a href="xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b">xran_get_if_state</a></div><div class="ttdeci">enum xran_if_state xran_get_if_state(void)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00238">xran_main.c:238</a></div></div>
110 <div class="ttc" id="structxran__srs__config_html"><div class="ttname"><a href="structxran__srs__config.html">xran_srs_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00447">xran_fh_o_du.h:447</a></div></div>
111 <div class="ttc" id="structxran__frame__config_html"><div class="ttname"><a href="structxran__frame__config.html">xran_frame_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00459">xran_fh_o_du.h:459</a></div></div>
112 <div class="ttc" id="xran__fh__o__du_8h_html_a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab"><div class="ttname"><a href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab">XRAN_UP_VF</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00256">xran_fh_o_du.h:256</a></div></div>
113 <div class="ttc" id="xran__fh__o__du_8h_html_a2bd01fc3432f80a787d6bf317949dd80"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2bd01fc3432f80a787d6bf317949dd80">xran_5g_srs_req</a></div><div class="ttdeci">int32_t xran_5g_srs_req(void *pHandle, struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN], xran_transport_callback_fn pCallback, void *pCallbackTag)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02679">xran_main.c:2679</a></div></div>
114 <div class="ttc" id="xran__frame__struct_8c_html_a7a25206e77e83a57fd036102cebfb4f0"><div class="ttname"><a href="xran__frame__struct_8c.html#a7a25206e77e83a57fd036102cebfb4f0">xran_max_frame</a></div><div class="ttdeci">uint16_t xran_max_frame</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00116">xran_main.c:116</a></div></div>
115 <div class="ttc" id="xran__fh__o__du_8h_html_a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb"><div class="ttname"><a href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb">XRAN_BF_T_HYBRID</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00232">xran_fh_o_du.h:232</a></div></div>
116 <div class="ttc" id="structxran__prb__elm_html"><div class="ttname"><a href="structxran__prb__elm.html">xran_prb_elm</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00393">xran_fh_o_du.h:393</a></div></div>
117 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615">xran_compression_method</a></div><div class="ttdeci">xran_compression_method</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00203">xran_fh_o_du.h:203</a></div></div>
118 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">XRAN_COMPMETHOD_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00204">xran_fh_o_du.h:204</a></div></div>
119 <div class="ttc" id="xran__fh__o__du_8h_html_ab204e979de14c21d34e9b88c6c700d25"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25">xran_5g_prach_req</a></div><div class="ttdeci">int32_t xran_5g_prach_req(void *pHandle, struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], xran_transport_callback_fn pCallback, void *pCallbackTag)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02636">xran_main.c:2636</a></div></div>
120 <div class="ttc" id="xran__fh__o__du_8h_html_a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3"><div class="ttname"><a href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3">XRAN_Q_I_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00479">xran_fh_o_du.h:479</a></div></div>
121 <div class="ttc" id="xran__fh__o__du_8h_html_a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00221">xran_fh_o_du.h:221</a></div></div>
122 <div class="ttc" id="xran__fh__o__du_8h_html_ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd">XRAN_BEAM_ATTRIBUTE</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00274">xran_fh_o_du.h:274</a></div></div>
123 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae">XRAN_COMPMETHOD_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00209">xran_fh_o_du.h:209</a></div></div>
124 <div class="ttc" id="xran__fh__o__du_8h_html_a4120602c15ddabfc3372e238d17f0414"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4120602c15ddabfc3372e238d17f0414">xran_mm_destroy</a></div><div class="ttdeci">int32_t xran_mm_destroy(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02877">xran_main.c:2877</a></div></div>
125 <div class="ttc" id="xran__fh__o__du_8h_html_a2f8866c9d6536a56e4d8232b8c45808b"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b">xran_close</a></div><div class="ttdeci">int32_t xran_close(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02863">xran_main.c:2863</a></div></div>
126 <div class="ttc" id="structxran__prach__config_html"><div class="ttname"><a href="structxran__prach__config.html">xran_prach_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00429">xran_fh_o_du.h:429</a></div></div>
127 <div class="ttc" id="xran__fh__o__du_8h_html_ab5ce6839bae2968c79930a0bfa17f4d8"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a></div><div class="ttdeci">xran_input_byte_order</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00471">xran_fh_o_du.h:471</a></div></div>
128 <div class="ttc" id="xran__fh__o__du_8h_html_a2f600110ab5726a0f21375b7f24c0326"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a></div><div class="ttdeci">xran_if_state</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00189">xran_fh_o_du.h:189</a></div></div>
129 <div class="ttc" id="structxran__fh__config_html"><div class="ttname"><a href="structxran__fh__config.html">xran_fh_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00497">xran_fh_o_du.h:497</a></div></div>
130 <div class="ttc" id="structxran__flat__buffer_html_addb9297d816b26c680888115de8c9538"><div class="ttname"><a href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">xran_flat_buffer::pCtrl</a></div><div class="ttdeci">void * pCtrl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00570">xran_fh_o_du.h:570</a></div></div>
131 <div class="ttc" id="structxran__flat__buffer_html_a77f0d5374ee675db57c0b29946ca7744"><div class="ttname"><a href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">xran_flat_buffer::pData</a></div><div class="ttdeci">uint8_t * pData</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00566">xran_fh_o_du.h:566</a></div></div>
132 <div class="ttc" id="xran__fh__o__du_8h_html_a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0"><div class="ttname"><a href="xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0">XRAN_FDD</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00186">xran_fh_o_du.h:186</a></div></div>
133 <div class="ttc" id="structxran__io__cfg_html"><div class="ttname"><a href="structxran__io__cfg.html">xran_io_cfg</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00294">xran_fh_o_du.h:294</a></div></div>
134 <div class="ttc" id="xran__fh__o__du_8h_html_ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098">XRAN_CPU_LE_BYTE_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00473">xran_fh_o_du.h:473</a></div></div>
135 <div class="ttc" id="xran__fh__o__du_8h_html_ae79ca138dc77d69ef692886be4e5da81"><div class="ttname"><a href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a></div><div class="ttdeci">int32_t xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02499">xran_main.c:2499</a></div></div>
136 <div class="ttc" id="xran__fh__o__du_8h_html_ad2e55b4fa82ed8c7f00e083b0406c6c8"><div class="ttname"><a href="xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8">xran_callback_sym_fn</a></div><div class="ttdeci">void(* xran_callback_sym_fn)(void *)</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00239">xran_fh_o_du.h:239</a></div></div>
137 <div class="ttc" id="xran__fh__o__du_8h_html_a8f2daee2fe90126f1f7c361b7760a7a3"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3">xran_stop</a></div><div class="ttdeci">int32_t xran_stop(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02852">xran_main.c:2852</a></div></div>
138 <div class="ttc" id="xran__fh__o__du_8h_html_ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8">XRAN_NE_BE_BYTE_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00472">xran_fh_o_du.h:472</a></div></div>
139 <div class="ttc" id="xran__fh__o__du_8h_html_ad32fb64c20521dbcfeb317e143046e27"><div class="ttname"><a href="xran__fh__o__du_8h.html#ad32fb64c20521dbcfeb317e143046e27">xran_malloc</a></div><div class="ttdeci">void * xran_malloc(size_t buf_len)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02736">xran_main.c:2736</a></div></div>
140 <div class="ttc" id="xran__fh__o__du_8h_html_a0f904fe772b55bcfc449759a23063aa3"><div class="ttname"><a href="xran__fh__o__du_8h.html#a0f904fe772b55bcfc449759a23063aa3">xran_bm_free_buffer</a></div><div class="ttdeci">int32_t xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02541">xran_main.c:2541</a></div></div>
141 <div class="ttc" id="structxran__buffer__list_html"><div class="ttname"><a href="structxran__buffer__list.html">xran_buffer_list</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00592">xran_fh_o_du.h:592</a></div></div>
142 <div class="ttc" id="xran__fh__o__du_8h_html_af48a00f171ef7a017fddd2a29f9854d0"><div class="ttname"><a href="xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0">xran_fh_tti_callback_fn</a></div><div class="ttdeci">int(* xran_fh_tti_callback_fn)(void *)</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00242">xran_fh_o_du.h:242</a></div></div>
143 <div class="ttc" id="xran__fh__o__du_8h_html_ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">XRAN_BEAM_ID_BASED</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00272">xran_fh_o_du.h:272</a></div></div>
144 <div class="ttc" id="xran__fh__o__du_8h_html_a8eb67099ddcb1b5877a494edfd450d24"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24">callback_to_phy_id</a></div><div class="ttdeci">callback_to_phy_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00219">xran_fh_o_du.h:219</a></div></div>
145 <div class="ttc" id="xran__fh__o__du_8h_html_a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00193">xran_fh_o_du.h:193</a></div></div>
146 <div class="ttc" id="xran__fh__o__du_8h_html_a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003"><div class="ttname"><a href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003">XRAN_BF_T_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00233">xran_fh_o_du.h:233</a></div></div>
147 <div class="ttc" id="structxran__cb__tag_html_a0a81ee27053a63e71a6c7db060562eb0"><div class="ttname"><a href="structxran__cb__tag.html#a0a81ee27053a63e71a6c7db060562eb0">xran_cb_tag::symbol</a></div><div class="ttdeci">uint32_t symbol</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00289">xran_fh_o_du.h:289</a></div></div>
148 <div class="ttc" id="structxran__cb__tag_html_a88d73cc1cc6695b6e27bad4609d887e1"><div class="ttname"><a href="structxran__cb__tag.html#a88d73cc1cc6695b6e27bad4609d887e1">xran_cb_tag::slotiId</a></div><div class="ttdeci">uint32_t slotiId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00290">xran_fh_o_du.h:290</a></div></div>
149 <div class="ttc" id="xran__fh__o__du_8h_html_a87d92ec177ed9c388685a91051f66205"><div class="ttname"><a href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a></div><div class="ttdeci">#define XRAN_NUM_OF_SYMBOL_PER_SLOT</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00122">xran_fh_o_du.h:122</a></div></div>
150 <div class="ttc" id="xran__fh__o__du_8h_html_adf5ead6a9f90b5d524e8012521d64bb5"><div class="ttname"><a href="xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5">xran_sector_get_instances</a></div><div class="ttdeci">int32_t xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02408">xran_main.c:2408</a></div></div>
151 <div class="ttc" id="structxran__ru__config_html"><div class="ttname"><a href="structxran__ru__config.html">xran_ru_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00483">xran_fh_o_du.h:483</a></div></div>
152 <div class="ttc" id="xran__fh__o__du_8h_html_a185d8ae20c697568878935f0a260227a"><div class="ttname"><a href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a">xran_vf_ports</a></div><div class="ttdeci">xran_vf_ports</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00254">xran_fh_o_du.h:254</a></div></div>
153 <div class="ttc" id="xran__fh__o__du_8h_html_adce425900af03693ff55da9deb17a679"><div class="ttname"><a href="xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679">phy_encoder_poll_fn</a></div><div class="ttdeci">int16_t(* phy_encoder_poll_fn)(void)</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00248">xran_fh_o_du.h:248</a></div></div>
154 <div class="ttc" id="structxran__flat__buffer_html"><div class="ttname"><a href="structxran__flat__buffer.html">xran_flat_buffer</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00553">xran_fh_o_du.h:553</a></div></div>
155 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28">XRAN_COMPMETHOD_BLKFLOAT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00205">xran_fh_o_du.h:205</a></div></div>
156 <div class="ttc" id="xran__fh__o__du_8h_html_aba79881ec9b30850184b4f5f6b0afc39"><div class="ttname"><a href="xran__fh__o__du_8h.html#aba79881ec9b30850184b4f5f6b0afc39">XRAN_MAX_TDD_PERIODICITY</a></div><div class="ttdeci">#define XRAN_MAX_TDD_PERIODICITY</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00124">xran_fh_o_du.h:124</a></div></div>
157 <div class="ttc" id="xran__pkt__cp_8h_html_a5a6ed8c04a3db86066924b1a1bf4dad3"><div class="ttname"><a href="xran__pkt__cp_8h.html#a5a6ed8c04a3db86066924b1a1bf4dad3">reserved</a></div><div class="ttdeci">uint32_t reserved</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__cp_8h_source.html#l00216">xran_pkt_cp.h:216</a></div></div>
158 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c">XRAN_COMPMETHOD_MODULATION</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00208">xran_fh_o_du.h:208</a></div></div>
159 <div class="ttc" id="structxran__cb__tag_html"><div class="ttname"><a href="structxran__cb__tag.html">xran_cb_tag</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00287">xran_fh_o_du.h:287</a></div></div>
160 <div class="ttc" id="xran__fh__o__du_8h_html_ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">XRAN_BEAM_WEIGHT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00273">xran_fh_o_du.h:273</a></div></div>
161 <div class="ttc" id="structxran__slot__config_html"><div class="ttname"><a href="structxran__slot__config.html">xran_slot_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00453">xran_fh_o_du.h:453</a></div></div>
162 <div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0ba"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba">xran_bbdev_init</a></div><div class="ttdeci">xran_bbdev_init</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00278">xran_fh_o_du.h:278</a></div></div>
163 <div class="ttc" id="xran__pkt__cp_8h_html_a59e7e8f3feb686850b0cb0ae065de85b"><div class="ttname"><a href="xran__pkt__cp_8h.html#a59e7e8f3feb686850b0cb0ae065de85b">fftSize</a></div><div class="ttdeci">uint8_t fftSize</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__cp_8h_source.html#l00215">xran_pkt_cp.h:215</a></div></div>
164 <div class="ttc" id="xran__fh__o__du_8h_html_a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d">XRAN_CB_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00224">xran_fh_o_du.h:224</a></div></div>
165 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713">XRAN_COMPMETHOD_ULAW</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00207">xran_fh_o_du.h:207</a></div></div>
166 <div class="ttc" id="xran__fh__o__du_8h_html_ac5d259c362d10b47c233b5098052cbf2"><div class="ttname"><a href="xran__fh__o__du_8h.html#ac5d259c362d10b47c233b5098052cbf2">xran_get_time_stats</a></div><div class="ttdeci">uint32_t xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02721">xran_main.c:2721</a></div></div>
167 <div class="ttc" id="structxran__fh__init_html"><div class="ttname"><a href="structxran__fh__init.html">xran_fh_init</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00323">xran_fh_o_du.h:323</a></div></div>
168 <div class="ttc" id="xran__fh__o__du_8h_html_ad52207145e383ae136995f5a2b7dd82d"><div class="ttname"><a href="xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d">xran_transport_callback_fn</a></div><div class="ttdeci">void(* xran_transport_callback_fn)(void *, xran_status_t)</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00245">xran_fh_o_du.h:245</a></div></div>
169 <div class="ttc" id="xran__fh__o__du_8h_html_a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d"><div class="ttname"><a href="xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d">XRAN_BF_T_TIME</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00231">xran_fh_o_du.h:231</a></div></div>
170 <div class="ttc" id="xran__fh__o__du_8h_html_a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac"><div class="ttname"><a href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac">XRAN_VF_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00258">xran_fh_o_du.h:258</a></div></div>
171 <div class="ttc" id="xran__fh__o__du_8h_html_a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080">XRAN_INIT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00191">xran_fh_o_du.h:191</a></div></div>
172 <div class="ttc" id="xran__fh__o__du_8h_html_ab78adb73387ef66b18318c2425be2f27"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27">xran_beamforming_type</a></div><div class="ttdeci">xran_beamforming_type</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00270">xran_fh_o_du.h:270</a></div></div>
173 <div class="ttc" id="xran__fh__o__du_8h_html_aa8354b56b0be4be47c44a8a5c38db86e"><div class="ttname"><a href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a></div><div class="ttdeci">int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02900">xran_main.c:2900</a></div></div>
174 <div class="ttc" id="xran__fh__o__du_8h_html_a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21"><div class="ttname"><a href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21">XRAN_I_Q_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00478">xran_fh_o_du.h:478</a></div></div>
175 <div class="ttc" id="xran__fh__o__du_8h_html_ac94e2474beef3b68521cfd391211b1be"><div class="ttname"><a href="xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be">xran_5g_fronthault_config</a></div><div class="ttdeci">int32_t xran_5g_fronthault_config(void *pHandle, struct xran_buffer_list *pSrcBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], struct xran_buffer_list *pSrcCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], struct xran_buffer_list *pDstCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN], xran_transport_callback_fn pCallback, void *pCallbackTag)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02551">xran_main.c:2551</a></div></div>
176 <div class="ttc" id="xran__fh__o__du_8h_html_a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e">XRAN_RUNNING</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00192">xran_fh_o_du.h:192</a></div></div>
177 <div class="ttc" id="structxran__cp__bf__precoding_html"><div class="ttname"><a href="structxran__cp__bf__precoding.html">xran_cp_bf_precoding</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00377">xran_fh_o_du.h:377</a></div></div>
178 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76">XRAN_COMPMETHOD_BLKSCALE</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00206">xran_fh_o_du.h:206</a></div></div>
179 <div class="ttc" id="xran__fh__o__du_8h_html_aa3ceca070f84e316e0e2f6002419d572"><div class="ttname"><a href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a></div><div class="ttdeci">int32_t xran_status_t</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00236">xran_fh_o_du.h:236</a></div></div>
180 </div><!-- fragment --></div><!-- contents -->
181 <!-- start footer part -->
182 <hr class="footer"/><address class="footer"><small>
183 Generated by &#160;<a href="http://www.doxygen.org/index.html">
184 <img class="footer" src="doxygen.png" alt="doxygen"/>
185 </a> 1.8.13
186 </small></address>
187 </body>
188 </html>