add Doxygen documentation
[o-du/phy.git] / docs / API / init__sys__functional_8cc_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: init_sys_functional.cc 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_babe8eacf738372576863f88f66866a5.html">test</a></li><li class="navelem"><a class="el" href="dir_eb25680e5ae075ef825a327f00297047.html">test_xran</a></li>  </ul>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="headertitle">
67 <div class="title">init_sys_functional.cc</div>  </div>
68 </div><!--header-->
69 <div class="contents">
70 <a href="init__sys__functional_8cc.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="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="common_8hpp.html">common.hpp</a>&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__fh__o__du_8h.html">xran_fh_o_du.h</a>&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__cp__api_8h.html">xran_cp_api.h</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__lib__wrap_8hpp.html">xran_lib_wrap.hpp</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__common_8h.html">xran_common.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ethdi_8h.html">ethdi.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc">   35</a></span>&#160;<span class="keyword">const</span> std::string <a class="code" href="init__sys__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a> = <span class="stringliteral">&quot;init_sys_functional&quot;</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a> <a class="code" href="init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a>;</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"><a class="line" href="init__sys__functional_8cc.html#af2d879cc67de3a1216ff63cbcea4183d">   39</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="init__sys__functional_8cc.html#af2d879cc67de3a1216ff63cbcea4183d">physide_sym_call_back</a>(<span class="keywordtype">void</span> * param)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    rte_pause();</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordflow">return</span>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;}</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c">   45</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c">physide_dl_tti_call_back</a>(<span class="keywordtype">void</span> * param)</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    rte_pause();</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2">   51</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2">physide_ul_half_slot_call_back</a>(<span class="keywordtype">void</span> * param)</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    rte_pause();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;}</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c">   57</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c">physide_ul_full_slot_call_back</a>(<span class="keywordtype">void</span> * param)</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    rte_pause();</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;}</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391">   63</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391">xran_fh_rx_callback</a>(<span class="keywordtype">void</span> *pCallbackTag, <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a> status)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    rte_pause();</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordflow">return</span>;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3">   69</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3">xran_fh_rx_prach_callback</a>(<span class="keywordtype">void</span> *pCallbackTag, <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a> status)</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    rte_pause();</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;}</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="class_init___sys___check.html">   75</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_init___sys___check.html">Init_Sys_Check</a> : <span class="keyword">public</span> <a class="code" href="class_kernel_tests.html">KernelTests</a></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;{</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b">   79</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b">SetUp</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a200da4e2209141f12cafef2380cb801a">Init</a>();</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752">Open</a>(<span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, (<span class="keywordtype">void</span> *)<a class="code" href="init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391">xran_fh_rx_callback</a>, (<span class="keywordtype">void</span> *)<a class="code" href="init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3">xran_fh_rx_prach_callback</a>);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="comment">/* It&#39;s called after an execution of the each test case.*/</span></div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#ac4fca95dc3b93372ce7f2078baf8e8b6">   86</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_init___sys___check.html#ac4fca95dc3b93372ce7f2078baf8e8b6">TearDown</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4">Close</a>();</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#ae89a123aad1c66a76c398b7af216aae4">Cleanup</a>();</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#aeb7832eb5f4721f4a281feaacd1bb466">   94</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> sFrontHaulTxBbuIoBufCtrl[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a964fb75fa6395056fade4167354019f5">   95</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> sFrontHaulTxPrbMapBbuIoBufCtrl[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#af3ad0b6136919aabcdbac46b754aa7ed">   96</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> sFrontHaulRxBbuIoBufCtrl[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a3bfdc9ec9f4c738715460ddd03f0833f">   97</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> sFrontHaulRxPrbMapBbuIoBufCtrl[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a4bcca72021c589be2adf3647647a1232">   98</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> sFHPrachRxBbuIoBufCtrl[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</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">  100</span>&#160;    <span class="comment">/* buffers lists */</span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a9ef97a8be35f99eec4b85d06a3216762">  101</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> sFrontHaulTxBuffers[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>];</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a511190592ad97b9f7a43ad31c761ff56">  102</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> sFrontHaulTxPrbMapBuffers[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a1dfd09a710fa1cf63f61883a284a5f0f">  103</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> sFrontHaulRxBuffers[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>];</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a416ab9567cd2c1bed5a500644fce9a04">  104</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> sFrontHaulRxPrbMapBuffers[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>];</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a7976d6beded6455154f323e1e542f085">  105</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> sFHPrachRxBuffers[<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>];</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">  107</a></span>&#160;    <span class="keywordtype">void</span>*    nInstanceHandle[<a class="code" href="xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4">XRAN_PORTS_NUM</a>][<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>]; <span class="comment">// instance per sector</span></div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#afbefaeac48b99d44a1930b66c9e4e21f">  108</a></span>&#160;    uint32_t nBufPoolIndex[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1">xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM</a>];</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590">  109</a></span>&#160;    uint16_t <a class="code" href="class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590">nInstanceNum</a>;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;};</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">  112</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_Open_Close)</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;{</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__device__ctx.html">xran_device_ctx</a> * p_xran_dev_ctx = <a class="code" href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21">xran_dev_get_ctx</a>();</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="comment">/* check stat of lib */</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    ASSERT_EQ(1, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#a1acdb894b98fd0ddf9e5542b50acfc50">enableCP</a>);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    ASSERT_EQ(1, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#a0ac55d6b8988083425a147f343c34455">xran2phy_mem_ready</a>);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5">  120</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_mm_init)</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;{</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962">xran_mm_init</a> (<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(), (uint64_t) <a class="code" href="sample-app_8c.html#ad5b1e2ec82b937000bd1fe89acb5384c">SW_FPGA_FH_TOTAL_BUFFER_LEN</a>, <a class="code" href="sample-app_8c.html#ae9c34194d5ec7c9c24b680085991306c">SW_FPGA_SEGMENT_BUFFER_LEN</a>);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    ASSERT_EQ(0, ret);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;}</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">/* this case cannot be tested since memory cannot be initialized twice */</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">/* memory initialization is moved to the wrapper class */</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_bm_init_alloc_free)</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;{</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordtype">void</span> *ptr;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordtype">void</span> *mb;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    uint32_t <a class="code" href="sample-app_8c.html#a9b25e7e7b484cb2d903c20c4791a52ac">nSW_ToFpga_FTH_TxBufferLen</a>   = 13168; <span class="comment">/* 273*12*4 + 64*/</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    int16_t k = 0;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pFthTxBuffer[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pFthTxPrbMapBuffer[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pFthRxBuffer[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pFthRxPrbMapBuffer[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__buffer__list.html">xran_buffer_list</a> *pFthRxRachBuffer[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>][<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="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590">Init_Sys_Check::nInstanceNum</a> = <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>();</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">for</span> (k = 0; k &lt; <a class="code" href="xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4">XRAN_PORTS_NUM</a>; k++) {</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        ret = <a class="code" href="xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5">xran_sector_get_instances</a> (<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(), <a class="code" href="class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590">Init_Sys_Check::nInstanceNum</a>, &amp;(<a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[k][0]));</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        ASSERT_EQ(0, ret);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        ASSERT_EQ(1, <a class="code" href="class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590">Init_Sys_Check::nInstanceNum</a>);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(<a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[0][0],</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                    &amp;<a class="code" href="class_init___sys___check.html#afbefaeac48b99d44a1930b66c9e4e21f">Init_Sys_Check::nBufPoolIndex</a>[0][0],</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                    <a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>*<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#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>, nSW_ToFpga_FTH_TxBufferLen);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    ASSERT_EQ(0, ret);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(<a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[0][0], <a class="code" href="class_init___sys___check.html#afbefaeac48b99d44a1930b66c9e4e21f">Init_Sys_Check::nBufPoolIndex</a>[0][0],&amp;ptr, &amp;mb);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    ASSERT_EQ(0, ret);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    ASSERT_NE(ptr, <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    ASSERT_NE(mb, <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#a0f904fe772b55bcfc449759a23063aa3">xran_bm_free_buffer</a>(<a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[0][0], ptr, mb);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    ASSERT_EQ(0, ret);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt; <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>(); i++)</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j=0; j&lt;<a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>; j++)</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;            <span class="keywordflow">for</span>(<span class="keywordtype">int</span> z = 0; z &lt; <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>; z++){</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                pFthTxBuffer[i][z][j]     = &amp;(<a class="code" href="class_init___sys___check.html#aeb7832eb5f4721f4a281feaacd1bb466">Init_Sys_Check::sFrontHaulTxBbuIoBufCtrl</a>[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                pFthTxPrbMapBuffer[i][z][j]     = &amp;(<a class="code" href="class_init___sys___check.html#a964fb75fa6395056fade4167354019f5">Init_Sys_Check::sFrontHaulTxPrbMapBbuIoBufCtrl</a>[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                pFthRxBuffer[i][z][j]     = &amp;(<a class="code" href="class_init___sys___check.html#af3ad0b6136919aabcdbac46b754aa7ed">Init_Sys_Check::sFrontHaulRxBbuIoBufCtrl</a>[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                pFthRxPrbMapBuffer[i][z][j]     = &amp;(<a class="code" href="class_init___sys___check.html#a3bfdc9ec9f4c738715460ddd03f0833f">Init_Sys_Check::sFrontHaulRxPrbMapBbuIoBufCtrl</a>[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                pFthRxRachBuffer[i][z][j] = &amp;(<a class="code" href="class_init___sys___check.html#a4bcca72021c589be2adf3647647a1232">Init_Sys_Check::sFHPrachRxBbuIoBufCtrl</a>[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;            }</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        }</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    }</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="keywordflow">if</span>(NULL != <a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[0])</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    {</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>(); i++)</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        {</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;            ret = <a class="code" href="xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be">xran_5g_fronthault_config</a> (<a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[0][i],</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                pFthTxBuffer[i],</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                pFthTxPrbMapBuffer[i],</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                pFthRxBuffer[i],</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                pFthRxPrbMapBuffer[i],</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                <a class="code" href="init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391">xran_fh_rx_callback</a>,  &amp;pFthRxBuffer[i][0]);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;            ASSERT_EQ(0, ret);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        }</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="comment">// add prach callback here</span></div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>(); i++)</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            ret = <a class="code" href="xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25">xran_5g_prach_req</a>(<a class="code" href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a>[0][i], pFthRxRachBuffer[i],</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                <a class="code" href="init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3">xran_fh_rx_prach_callback</a>,&amp;pFthRxRachBuffer[i][0]);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            ASSERT_EQ(0, ret);</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        }</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;}</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a8e9607426b34de712f7d450018d0dc05">  210</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_get_common_counters)</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;{</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__common__counters.html">xran_common_counters</a> x_counters;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#ac153c5a3e3f4f64ab0fafca6f593c380">xran_get_common_counters</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(), &amp;x_counters);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    ASSERT_EQ(0, ret);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    ASSERT_EQ(0, x_counters.<a class="code" href="structxran__common__counters.html#a6094e9310d30333fffbdeec6da91007c">Rx_on_time</a>);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    ASSERT_EQ(0, x_counters.<a class="code" href="structxran__common__counters.html#a1b07b459f4a9596d5c4a615d9e47fea2">Rx_early</a>);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    ASSERT_EQ(0, x_counters.<a class="code" href="structxran__common__counters.html#a2c33ad6e68efd74811ca61eada4f52f2">Rx_late</a>);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    ASSERT_EQ(0, x_counters.<a class="code" href="structxran__common__counters.html#af07bbcc73027d046cf79aaeeaea95d28">Rx_corrupt</a>);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    ASSERT_EQ(0, x_counters.<a class="code" href="structxran__common__counters.html#a98356b862ea13ddc58a1378a67c4bf8e">Rx_pkt_dupl</a>);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    ASSERT_EQ(0, x_counters.<a class="code" href="structxran__common__counters.html#ad863eb3e9dc4a977cce64405ec2780c7">Total_msgs_rcvd</a>);</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;}</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a593270c79e8ce298caeb715272c65173">  226</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_get_slot_idx)</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;{</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#define NUM_OF_SUBFRAME_PER_FRAME 10</span></div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    int32_t nNrOfSlotInSf = 1;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    int32_t nSfIdx = -1;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    uint32_t nFrameIdx;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    uint32_t nSubframeIdx;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    uint32_t nSlotIdx;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    uint64_t nSecond;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    uint32_t nXranTime  = <a class="code" href="xran__fh__o__du_8h.html#a2816fdf0ed3269e998720d01c2b6bf76">xran_get_slot_idx</a>(&amp;nFrameIdx, &amp;nSubframeIdx, &amp;nSlotIdx, &amp;nSecond);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    nSfIdx = nFrameIdx*<a class="code" href="init__sys__functional_8cc.html#a0b69cdc6288c9c56f1054c582852b613">NUM_OF_SUBFRAME_PER_FRAME</a>*nNrOfSlotInSf</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        + nSubframeIdx*nNrOfSlotInSf</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        + nSlotIdx;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    ASSERT_EQ(0, nSfIdx);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;}</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a74a4819defc7dbd1cfa7e793456be743">  244</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_reg_physide_cb)</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;{</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__device__ctx.html">xran_device_ctx</a> * p_xran_dev_ctx = <a class="code" href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21">xran_dev_get_ctx</a>();</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(), <a class="code" href="init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c">physide_dl_tti_call_back</a>, NULL, 10, <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a>);</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    ASSERT_EQ(0,ret);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    ASSERT_EQ(<a class="code" href="init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c">physide_dl_tti_call_back</a>, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#a88a1e1ec152b7daa669176e91660aead">ttiCb</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a>]);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    ASSERT_EQ(NULL, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#ab85e177210025d9e720d2696965c5af4">TtiCbParam</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a>]);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    ASSERT_EQ(10, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#abd4614a35f8f2cba7d7a671c9e545573">SkipTti</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3">XRAN_CB_TTI</a>]);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(), <a class="code" href="init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2">physide_ul_half_slot_call_back</a>, NULL, 10, <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a>);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    ASSERT_EQ(0,ret);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    ASSERT_EQ(<a class="code" href="init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2">physide_ul_half_slot_call_back</a>, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#a88a1e1ec152b7daa669176e91660aead">ttiCb</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a>]);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    ASSERT_EQ(NULL, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#ab85e177210025d9e720d2696965c5af4">TtiCbParam</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a>]);</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    ASSERT_EQ(10, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#abd4614a35f8f2cba7d7a671c9e545573">SkipTti</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2">XRAN_CB_HALF_SLOT_RX</a>]);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(), <a class="code" href="init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c">physide_ul_full_slot_call_back</a>, NULL, 10, <a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a>);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    ASSERT_EQ(0,ret);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    ASSERT_EQ(<a class="code" href="init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c">physide_ul_full_slot_call_back</a>, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#a88a1e1ec152b7daa669176e91660aead">ttiCb</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a>]);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    ASSERT_EQ(NULL, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#ab85e177210025d9e720d2696965c5af4">TtiCbParam</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a>]);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    ASSERT_EQ(10, p_xran_dev_ctx-&gt;<a class="code" href="structxran__device__ctx.html#abd4614a35f8f2cba7d7a671c9e545573">SkipTti</a>[<a class="code" href="xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af">XRAN_CB_FULL_SLOT_RX</a>]);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;}</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a7b1dc2a3c7a3d8e2eb7f2616417feb75">  268</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_reg_sym_cb){</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#adfcabe4091a4782ecb9ca029314c99ca">xran_reg_sym_cb</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>(),  <a class="code" href="init__sys__functional_8cc.html#af2d879cc67de3a1216ff63cbcea4183d">physide_sym_call_back</a>, NULL, 11, 0);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    ASSERT_EQ(-1,ret);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;}</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#ae5f944f4eff8e2963b83b56f208a114d">  274</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_mm_destroy){</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    ret = <a class="code" href="xran__fh__o__du_8h.html#a4120602c15ddabfc3372e238d17f0414">xran_mm_destroy</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>());</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    ASSERT_EQ(-1,ret);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;}</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="init__sys__functional_8cc.html#a03935019c7cdf89f54e582fbaf9bff76">  280</a></span>&#160;<a class="code" href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a>(<a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>, Test_xran_start_stop){</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    int16_t ret = 0;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    ASSERT_EQ(<a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a>, <a class="code" href="init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a>);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    ret = <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc">Start</a>();</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    ASSERT_EQ(0,ret);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    ASSERT_EQ(<a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e">XRAN_RUNNING</a>, <a class="code" href="init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a>);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    ret = <a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>-&gt;<a class="code" href="classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280">Stop</a>();</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    ASSERT_EQ(0,ret);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    ASSERT_EQ(<a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a>, <a class="code" href="init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a>);</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;}</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<a class="code" href="init__sys__functional_8cc.html#ab1c8965491e6ac59bfcb56b9fc182f1b">INSTANTIATE_TEST_CASE_P</a>(UnitTest, <a class="code" href="class_init___sys___check.html">Init_Sys_Check</a>,</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                        testing::ValuesIn(<a class="code" href="common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a>(<a class="code" href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96">Init_Sys_Check::get_number_of_cases</a>(<span class="stringliteral">&quot;init_sys_functional&quot;</span>))));</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><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>
71 <div class="ttc" id="init__sys__functional_8cc_html_aef5f52e6a4f49171518a59382eb03df5"><div class="ttname"><a href="init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a></div><div class="ttdeci">enum xran_if_state xran_if_current_state</div><div class="ttdef"><b>Definition:</b> <a href="ethdi_8c_source.html#l00075">ethdi.c:75</a></div></div>
72 <div class="ttc" id="structxran__device__ctx_html_ab85e177210025d9e720d2696965c5af4"><div class="ttname"><a href="structxran__device__ctx.html#ab85e177210025d9e720d2696965c5af4">xran_device_ctx::TtiCbParam</a></div><div class="ttdeci">void * TtiCbParam[XRAN_CB_MAX]</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00253">xran_common.h:253</a></div></div>
73 <div class="ttc" id="classxran_lib_wraper_html_a7f7a3199c392465d0767c6506c1af5b4"><div class="ttname"><a href="classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4">xranLibWraper::Close</a></div><div class="ttdeci">void Close()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00984">xran_lib_wrap.hpp:984</a></div></div>
74 <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>
75 <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>
76 <div class="ttc" id="structxran__common__counters_html_a2c33ad6e68efd74811ca61eada4f52f2"><div class="ttname"><a href="structxran__common__counters.html#a2c33ad6e68efd74811ca61eada4f52f2">xran_common_counters::Rx_late</a></div><div class="ttdeci">uint64_t Rx_late</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00532">xran_fh_o_du.h:532</a></div></div>
77 <div class="ttc" id="class_init___sys___check_html_a3a1707f6479611fdc609a3eb8a0cef1b"><div class="ttname"><a href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b">Init_Sys_Check::SetUp</a></div><div class="ttdeci">void SetUp() override</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00079">init_sys_functional.cc:79</a></div></div>
78 <div class="ttc" id="init__sys__functional_8cc_html_ac6a3121934d1301a33197c857bd61391"><div class="ttname"><a href="init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391">xran_fh_rx_callback</a></div><div class="ttdeci">void xran_fh_rx_callback(void *pCallbackTag, xran_status_t status)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00063">init_sys_functional.cc:63</a></div></div>
79 <div class="ttc" id="class_init___sys___check_html_a3bfdc9ec9f4c738715460ddd03f0833f"><div class="ttname"><a href="class_init___sys___check.html#a3bfdc9ec9f4c738715460ddd03f0833f">Init_Sys_Check::sFrontHaulRxPrbMapBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00097">init_sys_functional.cc:97</a></div></div>
80 <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>
81 <div class="ttc" id="class_kernel_tests_html_a6157ff083be863bba0a7804cd1788d96"><div class="ttname"><a href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96">KernelTests::get_number_of_cases</a></div><div class="ttdeci">static unsigned get_number_of_cases(const std::string &amp;type)</div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00190">common.hpp:190</a></div></div>
82 <div class="ttc" id="classxran_lib_wraper_html_af7c499a1fa8e52a104500d7d01c1a280"><div class="ttname"><a href="classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280">xranLibWraper::Stop</a></div><div class="ttdeci">int Stop()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00998">xran_lib_wrap.hpp:998</a></div></div>
83 <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>
84 <div class="ttc" id="init__sys__functional_8cc_html_a9796d6da0db5312f3ddffc3c43038daf"><div class="ttname"><a href="init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf">TEST_P</a></div><div class="ttdeci">TEST_P(Init_Sys_Check, Test_Open_Close)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00112">init_sys_functional.cc:112</a></div></div>
85 <div class="ttc" id="init__sys__functional_8cc_html_a69b4bff6061152ff85770d725cced3cc"><div class="ttname"><a href="init__sys__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a></div><div class="ttdeci">const std::string module_name</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00035">init_sys_functional.cc:35</a></div></div>
86 <div class="ttc" id="structxran__device__ctx_html_a0ac55d6b8988083425a147f343c34455"><div class="ttname"><a href="structxran__device__ctx.html#a0ac55d6b8988083425a147f343c34455">xran_device_ctx::xran2phy_mem_ready</a></div><div class="ttdeci">int xran2phy_mem_ready</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00256">xran_common.h:256</a></div></div>
87 <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>
88 <div class="ttc" id="class_init___sys___check_html_a492c471226877c87f771b9f4fe13a6ab"><div class="ttname"><a href="class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab">Init_Sys_Check::nInstanceHandle</a></div><div class="ttdeci">void * nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00107">init_sys_functional.cc:107</a></div></div>
89 <div class="ttc" id="classxran_lib_wraper_html_aeeef9211b4ee7d22934db64125b538dd"><div class="ttname"><a href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">xranLibWraper::get_num_cc</a></div><div class="ttdeci">int get_num_cc()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01120">xran_lib_wrap.hpp:1120</a></div></div>
90 <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>
91 <div class="ttc" id="xran__fh__o__du_8h_html_a34dbe5e515cc78b4ce26fa287e6c1edc"><div class="ttname"><a href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a></div><div class="ttdeci">#define XRAN_MAX_SECTOR_NR</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00110">xran_fh_o_du.h:110</a></div></div>
92 <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>
93 <div class="ttc" id="class_init___sys___check_html"><div class="ttname"><a href="class_init___sys___check.html">Init_Sys_Check</a></div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00075">init_sys_functional.cc:75</a></div></div>
94 <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l12898">json.hpp:12898</a></div></div>
95 <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>
96 <div class="ttc" id="class_kernel_tests_html"><div class="ttname"><a href="class_kernel_tests.html">KernelTests</a></div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00156">common.hpp:156</a></div></div>
97 <div class="ttc" id="class_init___sys___check_html_a0d19e9e74d94b9c2fb5734392bd7a590"><div class="ttname"><a href="class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590">Init_Sys_Check::nInstanceNum</a></div><div class="ttdeci">uint16_t nInstanceNum</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00109">init_sys_functional.cc:109</a></div></div>
98 <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>
99 <div class="ttc" id="init__sys__functional_8cc_html_a874ba95e7c465e83ccc26ab623eec60c"><div class="ttname"><a href="init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c">physide_ul_full_slot_call_back</a></div><div class="ttdeci">int physide_ul_full_slot_call_back(void *param)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00057">init_sys_functional.cc:57</a></div></div>
100 <div class="ttc" id="xran__fh__o__du_8h_html_ac1e23b437693cb93f1ddd5a74f97cab4"><div class="ttname"><a href="xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4">XRAN_PORTS_NUM</a></div><div class="ttdeci">#define XRAN_PORTS_NUM</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00108">xran_fh_o_du.h:108</a></div></div>
101 <div class="ttc" id="structxran__device__ctx_html"><div class="ttname"><a href="structxran__device__ctx.html">xran_device_ctx</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00203">xran_common.h:203</a></div></div>
102 <div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
103 <div class="ttc" id="structxran__device__ctx_html_a88a1e1ec152b7daa669176e91660aead"><div class="ttname"><a href="structxran__device__ctx.html#a88a1e1ec152b7daa669176e91660aead">xran_device_ctx::ttiCb</a></div><div class="ttdeci">xran_fh_tti_callback_fn ttiCb[XRAN_CB_MAX]</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00252">xran_common.h:252</a></div></div>
104 <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>
105 <div class="ttc" id="class_init___sys___check_html_a4bcca72021c589be2adf3647647a1232"><div class="ttname"><a href="class_init___sys___check.html#a4bcca72021c589be2adf3647647a1232">Init_Sys_Check::sFHPrachRxBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00098">init_sys_functional.cc:98</a></div></div>
106 <div class="ttc" id="structxran__common__counters_html_a98356b862ea13ddc58a1378a67c4bf8e"><div class="ttname"><a href="structxran__common__counters.html#a98356b862ea13ddc58a1378a67c4bf8e">xran_common_counters::Rx_pkt_dupl</a></div><div class="ttdeci">uint64_t Rx_pkt_dupl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00534">xran_fh_o_du.h:534</a></div></div>
107 <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>
108 <div class="ttc" id="xran__common_8h_html_aa09e72e94d2a1d891e86f4c09b0f8b21"><div class="ttname"><a href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21">xran_dev_get_ctx</a></div><div class="ttdeci">struct xran_device_ctx * xran_dev_get_ctx(void)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00223">xran_main.c:223</a></div></div>
109 <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>
110 <div class="ttc" id="structxran__device__ctx_html_a1acdb894b98fd0ddf9e5542b50acfc50"><div class="ttname"><a href="structxran__device__ctx.html#a1acdb894b98fd0ddf9e5542b50acfc50">xran_device_ctx::enableCP</a></div><div class="ttdeci">uint32_t enableCP</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00213">xran_common.h:213</a></div></div>
111 <div class="ttc" id="init__sys__functional_8cc_html_a2f5cc4dc3c9d4a042cab8024cb7278c3"><div class="ttname"><a href="init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3">xran_fh_rx_prach_callback</a></div><div class="ttdeci">void xran_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00069">init_sys_functional.cc:69</a></div></div>
112 <div class="ttc" id="sample-app_8c_html_a9b25e7e7b484cb2d903c20c4791a52ac"><div class="ttname"><a href="sample-app_8c.html#a9b25e7e7b484cb2d903c20c4791a52ac">nSW_ToFpga_FTH_TxBufferLen</a></div><div class="ttdeci">uint32_t nSW_ToFpga_FTH_TxBufferLen</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00073">sample-app.c:73</a></div></div>
113 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a></div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00116">sample-app.c:116</a></div></div>
114 <div class="ttc" id="structxran__common__counters_html_ad863eb3e9dc4a977cce64405ec2780c7"><div class="ttname"><a href="structxran__common__counters.html#ad863eb3e9dc4a977cce64405ec2780c7">xran_common_counters::Total_msgs_rcvd</a></div><div class="ttdeci">uint64_t Total_msgs_rcvd</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00535">xran_fh_o_du.h:535</a></div></div>
115 <div class="ttc" id="structxran__common__counters_html_af07bbcc73027d046cf79aaeeaea95d28"><div class="ttname"><a href="structxran__common__counters.html#af07bbcc73027d046cf79aaeeaea95d28">xran_common_counters::Rx_corrupt</a></div><div class="ttdeci">uint64_t Rx_corrupt</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00533">xran_fh_o_du.h:533</a></div></div>
116 <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>
117 <div class="ttc" id="init__sys__functional_8cc_html_a52c968a559117b66a05591f958da75c2"><div class="ttname"><a href="init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2">physide_ul_half_slot_call_back</a></div><div class="ttdeci">int physide_ul_half_slot_call_back(void *param)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00051">init_sys_functional.cc:51</a></div></div>
118 <div class="ttc" id="sample-app_8c_html_ad5b1e2ec82b937000bd1fe89acb5384c"><div class="ttname"><a href="sample-app_8c.html#ad5b1e2ec82b937000bd1fe89acb5384c">SW_FPGA_FH_TOTAL_BUFFER_LEN</a></div><div class="ttdeci">#define SW_FPGA_FH_TOTAL_BUFFER_LEN</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00051">sample-app.c:51</a></div></div>
119 <div class="ttc" id="xran__lib__wrap_8hpp_html"><div class="ttname"><a href="xran__lib__wrap_8hpp.html">xran_lib_wrap.hpp</a></div></div>
120 <div class="ttc" id="sample-app_8c_html_ae9c34194d5ec7c9c24b680085991306c"><div class="ttname"><a href="sample-app_8c.html#ae9c34194d5ec7c9c24b680085991306c">SW_FPGA_SEGMENT_BUFFER_LEN</a></div><div class="ttdeci">#define SW_FPGA_SEGMENT_BUFFER_LEN</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00050">sample-app.c:50</a></div></div>
121 <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>
122 <div class="ttc" id="ethdi_8h_html"><div class="ttname"><a href="ethdi_8h.html">ethdi.h</a></div><div class="ttdoc">This file has all definitions for the Ethernet Data Interface Layer. </div></div>
123 <div class="ttc" id="classxran_lib_wraper_html_ae89a123aad1c66a76c398b7af216aae4"><div class="ttname"><a href="classxran_lib_wraper.html#ae89a123aad1c66a76c398b7af216aae4">xranLibWraper::Cleanup</a></div><div class="ttdeci">void Cleanup()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00914">xran_lib_wrap.hpp:914</a></div></div>
124 <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>
125 <div class="ttc" id="structxran__device__ctx_html_abd4614a35f8f2cba7d7a671c9e545573"><div class="ttname"><a href="structxran__device__ctx.html#abd4614a35f8f2cba7d7a671c9e545573">xran_device_ctx::SkipTti</a></div><div class="ttdeci">uint32_t SkipTti[XRAN_CB_MAX]</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00254">xran_common.h:254</a></div></div>
126 <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>
127 <div class="ttc" id="class_init___sys___check_html_af3ad0b6136919aabcdbac46b754aa7ed"><div class="ttname"><a href="class_init___sys___check.html#af3ad0b6136919aabcdbac46b754aa7ed">Init_Sys_Check::sFrontHaulRxBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00096">init_sys_functional.cc:96</a></div></div>
128 <div class="ttc" id="class_init___sys___check_html_ac4fca95dc3b93372ce7f2078baf8e8b6"><div class="ttname"><a href="class_init___sys___check.html#ac4fca95dc3b93372ce7f2078baf8e8b6">Init_Sys_Check::TearDown</a></div><div class="ttdeci">void TearDown() override</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00086">init_sys_functional.cc:86</a></div></div>
129 <div class="ttc" id="xran__common_8h_html"><div class="ttname"><a href="xran__common_8h.html">xran_common.h</a></div><div class="ttdoc">XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane. </div></div>
130 <div class="ttc" id="init__sys__functional_8cc_html_ab1c8965491e6ac59bfcb56b9fc182f1b"><div class="ttname"><a href="init__sys__functional_8cc.html#ab1c8965491e6ac59bfcb56b9fc182f1b">INSTANTIATE_TEST_CASE_P</a></div><div class="ttdeci">INSTANTIATE_TEST_CASE_P(UnitTest, Init_Sys_Check, testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases(&quot;init_sys_functional&quot;))))</div></div>
131 <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>
132 <div class="ttc" id="class_init___sys___check_html_aeb7832eb5f4721f4a281feaacd1bb466"><div class="ttname"><a href="class_init___sys___check.html#aeb7832eb5f4721f4a281feaacd1bb466">Init_Sys_Check::sFrontHaulTxBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00094">init_sys_functional.cc:94</a></div></div>
133 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1">xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00078">xran_lib_wrap.hpp:78</a></div></div>
134 <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>
135 <div class="ttc" id="init__sys__functional_8cc_html_af2d879cc67de3a1216ff63cbcea4183d"><div class="ttname"><a href="init__sys__functional_8cc.html#af2d879cc67de3a1216ff63cbcea4183d">physide_sym_call_back</a></div><div class="ttdeci">void physide_sym_call_back(void *param)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00039">init_sys_functional.cc:39</a></div></div>
136 <div class="ttc" id="xran__fh__o__du_8h_html"><div class="ttname"><a href="xran__fh__o__du_8h.html">xran_fh_o_du.h</a></div><div class="ttdoc">This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...</div></div>
137 <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>
138 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html_ab79185e465507117d7b13fd30ec49f70"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">BbuIoBufCtrlStruct::sBufferList</a></div><div class="ttdeci">struct xran_buffer_list sBufferList</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00129">sample-app.c:129</a></div></div>
139 <div class="ttc" id="classxran_lib_wraper_html_a200da4e2209141f12cafef2380cb801a"><div class="ttname"><a href="classxran_lib_wraper.html#a200da4e2209141f12cafef2380cb801a">xranLibWraper::Init</a></div><div class="ttdeci">int Init(struct xran_fh_config *pCfg=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00740">xran_lib_wrap.hpp:740</a></div></div>
140 <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>
141 <div class="ttc" id="class_init___sys___check_html_a964fb75fa6395056fade4167354019f5"><div class="ttname"><a href="class_init___sys___check.html#a964fb75fa6395056fade4167354019f5">Init_Sys_Check::sFrontHaulTxPrbMapBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00095">init_sys_functional.cc:95</a></div></div>
142 <div class="ttc" id="classxran_lib_wraper_html_ad93226058ef4fd59bd7d0cd55701b752"><div class="ttname"><a href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752">xranLibWraper::Open</a></div><div class="ttdeci">void Open(xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00936">xran_lib_wrap.hpp:936</a></div></div>
143 <div class="ttc" id="structxran__common__counters_html_a1b07b459f4a9596d5c4a615d9e47fea2"><div class="ttname"><a href="structxran__common__counters.html#a1b07b459f4a9596d5c4a615d9e47fea2">xran_common_counters::Rx_early</a></div><div class="ttdeci">uint64_t Rx_early</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00531">xran_fh_o_du.h:531</a></div></div>
144 <div class="ttc" id="init__sys__functional_8cc_html_a0b69cdc6288c9c56f1054c582852b613"><div class="ttname"><a href="init__sys__functional_8cc.html#a0b69cdc6288c9c56f1054c582852b613">NUM_OF_SUBFRAME_PER_FRAME</a></div><div class="ttdeci">#define NUM_OF_SUBFRAME_PER_FRAME</div></div>
145 <div class="ttc" id="xran__lib__wrap_8hpp_html_a1b2100f9f398243bb4bdbf0db003b9a3"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a></div><div class="ttdeci">xranLibWraper * xranlib</div><div class="ttdef"><b>Definition:</b> <a href="xranlib__unit__test__main_8cc_source.html#l00044">xranlib_unit_test_main.cc:44</a></div></div>
146 <div class="ttc" id="class_init___sys___check_html_afbefaeac48b99d44a1930b66c9e4e21f"><div class="ttname"><a href="class_init___sys___check.html#afbefaeac48b99d44a1930b66c9e4e21f">Init_Sys_Check::nBufPoolIndex</a></div><div class="ttdeci">uint32_t nBufPoolIndex[XRAN_MAX_SECTOR_NR][xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM]</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00108">init_sys_functional.cc:108</a></div></div>
147 <div class="ttc" id="common_8cpp_html_a39bf4f7770751080f5b72046abfd01a5"><div class="ttname"><a href="common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a></div><div class="ttdeci">std::vector&lt; unsigned &gt; get_sequence(const unsigned number)</div><div class="ttdoc">For a given number return sequence of number from 0 to number - 1. </div><div class="ttdef"><b>Definition:</b> <a href="common_8cpp_source.html#l00078">common.cpp:78</a></div></div>
148 <div class="ttc" id="classxran_lib_wraper_html_a2ad94e2d18c69b423d5402d7777832f1"><div class="ttname"><a href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">xranLibWraper::get_xranhandle</a></div><div class="ttdeci">void * get_xranhandle()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01109">xran_lib_wrap.hpp:1109</a></div></div>
149 <div class="ttc" id="xran__cp__api_8h_html"><div class="ttname"><a href="xran__cp__api_8h.html">xran_cp_api.h</a></div><div class="ttdoc">This file provides the definitions for Control Plane Messages APIs. </div></div>
150 <div class="ttc" id="classxran_lib_wraper_html_af9989f7ffd89540fc26371e24a29fefc"><div class="ttname"><a href="classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc">xranLibWraper::Start</a></div><div class="ttdeci">int Start()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00990">xran_lib_wrap.hpp:990</a></div></div>
151 <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>
152 <div class="ttc" id="init__sys__functional_8cc_html_aa8882d42d07fbd9750da4db4395b438c"><div class="ttname"><a href="init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c">physide_dl_tti_call_back</a></div><div class="ttdeci">int physide_dl_tti_call_back(void *param)</div><div class="ttdef"><b>Definition:</b> <a href="init__sys__functional_8cc_source.html#l00045">init_sys_functional.cc:45</a></div></div>
153 <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>
154 <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>
155 <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>
156 <div class="ttc" id="structxran__common__counters_html_a6094e9310d30333fffbdeec6da91007c"><div class="ttname"><a href="structxran__common__counters.html#a6094e9310d30333fffbdeec6da91007c">xran_common_counters::Rx_on_time</a></div><div class="ttdeci">uint64_t Rx_on_time</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00530">xran_fh_o_du.h:530</a></div></div>
157 </div><!-- fragment --></div><!-- contents -->
158 <!-- start footer part -->
159 <hr class="footer"/><address class="footer"><small>
160 Generated by &#160;<a href="http://www.doxygen.org/index.html">
161 <img class="footer" src="doxygen.png" alt="doxygen"/>
162 </a> 1.8.13
163 </small></address>
164 </body>
165 </html>