add Doxygen documentation
[o-du/phy.git] / docs / API / xran__lib__wrap_8hpp_source.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>o-du/phy: xran_lib_wrap.hpp 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_1bd9561fc3fad99ea06f3a94905f6e7f.html">common</a></li>  </ul>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="headertitle">
67 <div class="title">xran_lib_wrap.hpp</div>  </div>
68 </div><!--header-->
69 <div class="contents">
70 <a href="xran__lib__wrap_8hpp.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">#ifndef XRAN_LIB_WRAP_HPP</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define XRAN_LIB_WRAP_HPP</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;exception&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;random&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;malloc.h&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;stdint.h&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;<span class="preprocessor">#include &quot;<a class="code" href="common_8hpp.html">common.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</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="l00034"></a><span class="lineno">   34</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="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__frame__struct_8h.html">xran_frame_struct.h</a>&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;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a7959c3e12f3260a6461fe2610203d1af">   38</a></span>&#160;<span class="preprocessor">#define XRAN_UT_CFG_FILENAME            &quot;conf.json&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e">   40</a></span>&#160;<span class="preprocessor">#define XRAN_UT_KEY_GLOBALCFG           &quot;GLOBAL&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">   41</a></span>&#160;<span class="preprocessor">#define XRAN_UT_KEY_GLOBALCFG_IO        &quot;io_cfg&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540">   42</a></span>&#160;<span class="preprocessor">#define XRAN_UT_KEY_GLOBALCFG_EAXCID    &quot;eAxCId_cfg&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">   43</a></span>&#160;<span class="preprocessor">#define XRAN_UT_KEY_GLOBALCFG_PRACH     &quot;prach_cfg&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">   44</a></span>&#160;<span class="preprocessor">#define XRAN_UT_KEY_GLOBALCFG_RU        &quot;ru_cfg&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a1976c5b3ee9779f3fe720e706b5c4e72">   45</a></span>&#160;<span class="preprocessor">#define XRAN_UT_KEY_GLOBALCFG_SLOT      &quot;slotcfg_&quot;</span></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"><a class="line" href="xran__lib__wrap_8hpp.html#a16ea7ba6b48522ff69767c3a3d31b776">   47</a></span>&#160;<span class="preprocessor">#define MAX_NUM_OF_XRAN_CTX             (2)</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a7b323875aec9da8e30e082063f75b50b">   49</a></span>&#160;<span class="preprocessor">#define SW_FPGA_TOTAL_BUFFER_LEN        (4*1024*1024*1024)</span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#ae9c34194d5ec7c9c24b680085991306c">   50</a></span>&#160;<span class="preprocessor">#define SW_FPGA_SEGMENT_BUFFER_LEN      (1*1024*1024*1024)</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#ad5b1e2ec82b937000bd1fe89acb5384c">   51</a></span>&#160;<span class="preprocessor">#define SW_FPGA_FH_TOTAL_BUFFER_LEN     (1*1024*1024*1024)</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3">   52</a></span>&#160;<span class="preprocessor">#define FPGA_TO_SW_PRACH_RX_BUFFER_LEN  (8192)</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">   54</a></span>&#160;<span class="preprocessor">#define MAX_ANT_CARRIER_SUPPORTED (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)</span></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;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;{</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> uint32_t <a class="code" href="xran__lib__wrap_8hpp.html#a273a09cbea9267272f4e2a339059e442">xran_lib_ota_tti</a>;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> uint32_t <a class="code" href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> uint32_t <a class="code" href="xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04">xran_lib_ota_sym_idx</a>;</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;<span class="keywordtype">void</span> <a class="code" href="xran__lib__wrap_8hpp.html#a6c189fbbc24f87fad24cff9cbd0e6a42">sym_ota_cb</a>(<span class="keyword">struct</span> rte_timer *tim, <span class="keywordtype">void</span> *arg);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">void</span> <a class="code" href="xran__lib__wrap_8hpp.html#a9c3700d61ba446fa9b05cca2ca9018ab">tti_ota_cb</a>(<span class="keyword">struct</span> rte_timer *tim, <span class="keywordtype">void</span> *arg);</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;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html">   66</a></span>&#160;<span class="keyword">class </span><a class="code" href="classxran_lib_wraper.html">xranLibWraper</a></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;<span class="keyword">public</span>:</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46">   69</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span></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"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5">   71</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5">XRANFTHTX_OUT</a> = 0,</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1">   72</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1">XRANFTHTX_PRB_MAP_OUT</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b">   73</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b">XRANFTHTX_SEC_DESC_OUT</a>,</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54">   74</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54">XRANFTHRX_IN</a>,</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2">   75</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2">XRANFTHRX_PRB_MAP_IN</a>,</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35">   76</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35">XRANFTHTX_SEC_DESC_IN</a>,</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729">   77</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729">XRANFTHRACH_IN</a>,</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1">   78</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1">MAX_SW_XRAN_INTERFACE_NUM</a></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    } <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46">SWXRANInterfaceTypeEnum</a>;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5">   81</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5">nChBw</a></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    {</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716">   83</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716">PHY_BW_5MHZ</a>   =   5, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a">PHY_BW_10MHZ</a>  =  10, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4">PHY_BW_15MHZ</a>  =  15,</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4">   84</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8">PHY_BW_20MHZ</a>  =  20, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2">PHY_BW_25MHZ</a>  =  25, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4">PHY_BW_30MHZ</a>  =  30,</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33">   85</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109">PHY_BW_40MHZ</a>  =  40, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1">PHY_BW_50MHZ</a>  =  50, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33">PHY_BW_60MHZ</a>  =  60,</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f">   86</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19">PHY_BW_70MHZ</a>  =  70, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6">PHY_BW_80MHZ</a>  =  80, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f">PHY_BW_90MHZ</a>  =  90,</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924">   87</a></span>&#160;        <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb">PHY_BW_100MHZ</a> = 100, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0">PHY_BW_200MHZ</a> = 200, <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924">PHY_BW_400MHZ</a> = 400</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    };</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">// F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a95651581b17afb55b04ca83f04261353">   91</a></span>&#160;    <span class="keyword">const</span> uint16_t <a class="code" href="classxran_lib_wraper.html#a95651581b17afb55b04ca83f04261353">nNumRbsPerSymF1</a>[3][13] =</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="comment">//      5MHz   10MHz   15MHz   20MHz   25MHz   30MHz   40MHz   50MHz   60MHz   70MHz   80MHz   90MHz  100MHz</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        {    25,     52,     79,    106,    133,    160,    216,    270,      0,      0,      0,      0,      0 },  <span class="comment">// Numerology 0 (15KHz)</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        {    11,     24,     38,     51,     65,     78,    106,    133,    162,      0,    217,    245,    273 },  <span class="comment">// Numerology 1 (30KHz)</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        {     0,     11,     18,     24,     31,     38,     51,     65,     79,      0,    107,    121,    135 }   <span class="comment">// Numerology 2 (60KHz)</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    };</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="comment">// F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB</span></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aa77e335f5b2d2cc1d81de7a55f122ded">  100</a></span>&#160;    <span class="keyword">const</span> uint16_t <a class="code" href="classxran_lib_wraper.html#aa77e335f5b2d2cc1d81de7a55f122ded">nNumRbsPerSymF2</a>[2][4] =</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">//     50MHz  100MHz  200MHz  400MHz</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        {    66,    132,    264,      0 },  <span class="comment">// Numerology 2 (60KHz)</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        {    32,     66,    132,    264 }   <span class="comment">// Numerology 3 (120KHz)</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    };</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ac6f9b50e19408f0c2efdcf7e5dd204a9">  109</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="classxran_lib_wraper.html#ac6f9b50e19408f0c2efdcf7e5dd204a9">argv</a>[25] = <span class="stringliteral">&quot;unittest&quot;</span>;</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"><a class="line" href="classxran_lib_wraper.html#a790ada9a4b1a467dc29bc4bfa1ec3e20">  111</a></span>&#160;    std::string <a class="code" href="classxran_lib_wraper.html#a790ada9a4b1a467dc29bc4bfa1ec3e20">m_dpdk_dev_up</a>, <a class="code" href="classxran_lib_wraper.html#aa0dbf843da8d26633022c153c473deb5">m_dpdk_dev_cp</a>, <a class="code" href="classxran_lib_wraper.html#af2f499e1b7c34ec4e1c600e00bddc75f">m_dpdk_bbdev</a>;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#adcc43270fba1599cebe2bc32eca45554">  113</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="classxran_lib_wraper.html#adcc43270fba1599cebe2bc32eca45554">m_xranhandle</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ab58608944b110026e58c96affe100111">  115</a></span>&#160;    uint8_t <a class="code" href="classxran_lib_wraper.html#ab58608944b110026e58c96affe100111">m_du_mac</a>[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 };</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a5914f36a470616ef17f5b663a8d21b30">  116</a></span>&#160;    uint8_t <a class="code" href="classxran_lib_wraper.html#a5914f36a470616ef17f5b663a8d21b30">m_ru_mac</a>[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 };</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ae064c199bd624882f23a786c57aa5afe">  117</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classxran_lib_wraper.html#ae064c199bd624882f23a786c57aa5afe">m_bSub6</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aa7e4fc7db724dc357f1425ab426c8921">  118</a></span>&#160;    uint32_t <a class="code" href="classxran_lib_wraper.html#aa7e4fc7db724dc357f1425ab426c8921">m_nSlots</a> = 10;</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="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">  120</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__fh__config.html">xran_fh_config</a>   <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">  121</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__fh__init.html">xran_fh_init</a>     <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structxran_lib_wraper_1_1xran__timer__ctx.html">  123</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran_lib_wraper_1_1xran__timer__ctx.html">xran_timer_ctx</a> {</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structxran_lib_wraper_1_1xran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66">  124</a></span>&#160;        uint32_t    <a class="code" href="structxran_lib_wraper_1_1xran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66">tti_to_process</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        } <a class="code" href="classxran_lib_wraper.html#a74cbf8f188c4df27d645f80be26bb077">m_timer_ctx</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a16ea7ba6b48522ff69767c3a3d31b776">MAX_NUM_OF_XRAN_CTX</a>];</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">/* io struct */</span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a4ec48d0ffb9f1f4310057061754541af">  128</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> <a class="code" href="classxran_lib_wraper.html#a4ec48d0ffb9f1f4310057061754541af">m_sFrontHaulTxBbuIoBufCtrl</a>[<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="l00129"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a5de5e6cb2e5beb2315f16ecc06aa2966">  129</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> <a class="code" href="classxran_lib_wraper.html#a5de5e6cb2e5beb2315f16ecc06aa2966">m_sFrontHaulTxPrbMapBbuIoBufCtrl</a>[<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="l00130"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ad99e9ea539081aeef2978a3f472baf1c">  130</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> <a class="code" href="classxran_lib_wraper.html#ad99e9ea539081aeef2978a3f472baf1c">m_sFrontHaulRxBbuIoBufCtrl</a>[<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="l00131"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a5d7d51f26d22de978142c336c82b8736">  131</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> <a class="code" href="classxran_lib_wraper.html#a5d7d51f26d22de978142c336c82b8736">m_sFrontHaulRxPrbMapBbuIoBufCtrl</a>[<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="l00132"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a4e219881fa053028c692fb10ae2bb5a3">  132</a></span>&#160;    <a class="code" href="struct_bbu_io_buf_ctrl_struct.html">BbuIoBufCtrlStruct</a> <a class="code" href="classxran_lib_wraper.html#a4e219881fa053028c692fb10ae2bb5a3">m_sFHPrachRxBbuIoBufCtrl</a>[<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="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="comment">/* buffers lists */</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aaf96fa2c0147a497910401ba377506db">  135</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> <a class="code" href="classxran_lib_wraper.html#aaf96fa2c0147a497910401ba377506db">m_sFrontHaulTxBuffers</a>[<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="l00136"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aa1611b01fe2d460ebe58e45c901f68e8">  136</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> <a class="code" href="classxran_lib_wraper.html#aa1611b01fe2d460ebe58e45c901f68e8">m_sFrontHaulTxPrbMapBuffers</a>[<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="l00137"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a6284df81f3334e6319e99aa3d368acec">  137</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> <a class="code" href="classxran_lib_wraper.html#a6284df81f3334e6319e99aa3d368acec">m_sFrontHaulRxBuffers</a>[<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="l00138"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a21adf86e6b2a299b94a4eb59b6094863">  138</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> <a class="code" href="classxran_lib_wraper.html#a21adf86e6b2a299b94a4eb59b6094863">m_sFrontHaulRxPrbMapBuffers</a>[<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="l00139"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ad84b20c11b0095b35674f3eb1c247375">  139</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__flat__buffer.html">xran_flat_buffer</a> <a class="code" href="classxran_lib_wraper.html#ad84b20c11b0095b35674f3eb1c247375">m_sFHPrachRxBuffers</a>[<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="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a80a3e8332a69c2beb5df4ad72b4a022c">  141</a></span>&#160;    <span class="keywordtype">void</span>    *<a class="code" href="classxran_lib_wraper.html#a80a3e8332a69c2beb5df4ad72b4a022c">m_nInstanceHandle</a>[<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="l00142"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a9270468afb68051247edd5953b828aca">  142</a></span>&#160;    uint32_t <a class="code" href="classxran_lib_wraper.html#a9270468afb68051247edd5953b828aca">m_nBufPoolIndex</a>[<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">MAX_SW_XRAN_INTERFACE_NUM</a>];   <span class="comment">// every api owns unique buffer pool</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a21b3d390c6eee5d15152cdc5459ff523">  144</a></span>&#160;    uint32_t <a class="code" href="classxran_lib_wraper.html#a21b3d390c6eee5d15152cdc5459ff523">m_nSW_ToFpga_FTH_TxBufferLen</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#af53e776036ad72ea2d2e5a2bdbbdc0b2">  145</a></span>&#160;    uint32_t <a class="code" href="classxran_lib_wraper.html#af53e776036ad72ea2d2e5a2bdbbdc0b2">m_nFpgaToSW_FTH_RxBufferLen</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"><a class="line" href="classxran_lib_wraper.html#a98ce8fded84309c17c61f4dd902d4e0f">  147</a></span>&#160;    int32_t <a class="code" href="classxran_lib_wraper.html#a98ce8fded84309c17c61f4dd902d4e0f">m_nSectorIndex</a>[<a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>];</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ad1ab6e8c4efe2805b76180b34ce4c019">  149</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#ad1ab6e8c4efe2805b76180b34ce4c019">iq_bfw_buffer_size_dl</a> = 0;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a8b3edaed699562559db744c8e2aa36b1">  150</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a8b3edaed699562559db744c8e2aa36b1">iq_bfw_buffer_size_ul</a> = 0;</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;    <span class="comment">/* beamforming weights for UL (O-DU) */</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a77bd4ecb90ef07ddc1420242672b1587">  153</a></span>&#160;    int16_t *<a class="code" href="classxran_lib_wraper.html#a77bd4ecb90ef07ddc1420242672b1587">p_tx_dl_bfw_buffer</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a>];</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aad7c467bc9da44318d2e8cf2f4472f17">  154</a></span>&#160;    int32_t <a class="code" href="classxran_lib_wraper.html#aad7c467bc9da44318d2e8cf2f4472f17">tx_dl_bfw_buffer_size</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a>];</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a364dd5820c1bb3fc2f760e5b6cab5b98">  155</a></span>&#160;    int32_t <a class="code" href="classxran_lib_wraper.html#a364dd5820c1bb3fc2f760e5b6cab5b98">tx_dl_bfw_buffer_position</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a>];</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="comment">/* beamforming weights for UL (O-DU) */</span></div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a95b1981d7d33eb50789dbc55d5d2755f">  158</a></span>&#160;    int16_t *<a class="code" href="classxran_lib_wraper.html#a95b1981d7d33eb50789dbc55d5d2755f">p_tx_ul_bfw_buffer</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a>];</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a2fca7a2340a727f72d85407c5e153ed4">  159</a></span>&#160;    int32_t <a class="code" href="classxran_lib_wraper.html#a2fca7a2340a727f72d85407c5e153ed4">tx_ul_bfw_buffer_size</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a>];</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#adc7a94af3a9c52fdb09e8733264eee4a">  160</a></span>&#160;    int32_t <a class="code" href="classxran_lib_wraper.html#adc7a94af3a9c52fdb09e8733264eee4a">tx_ul_bfw_buffer_position</a>[<a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a>];</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">json</a> m_global_cfg;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    T get_globalcfg(<span class="keyword">const</span> std::string &amp;type, <span class="keyword">const</span> std::string &amp;parameter_name)</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">return</span> m_global_cfg[<a class="code" href="xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e">XRAN_UT_KEY_GLOBALCFG</a>][type][parameter_name];</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;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    std::vector&lt;T&gt; get_globalcfg_array(<span class="keyword">const</span> std::string &amp;type, <span class="keyword">const</span> std::string &amp;parameter_name)</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    {</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keyword">auto</span> array_size = m_global_cfg[<a class="code" href="xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e">XRAN_UT_KEY_GLOBALCFG</a>][type][parameter_name].<a class="code" href="classnlohmann_1_1basic__json.html#a0801762a3fe36fe32dca5f16e515478d">size</a>();</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        std::vector&lt;T&gt; result(array_size);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> number = 0; number &lt; array_size; number++)</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;            result.at(number) = m_global_cfg[<a class="code" href="xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e">XRAN_UT_KEY_GLOBALCFG</a>][type][parameter_name][number];</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;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    }</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;    uint16_t get_eaxcid_mask(<span class="keywordtype">int</span> numbit, <span class="keywordtype">int</span> shift)</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;        uint16_t result = 0;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i &lt; numbit; i++) {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            result = result &lt;&lt; 1; result +=1;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;            }</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">return</span> (result &lt;&lt; shift);</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;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keywordtype">int</span> init_memory()</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;        <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a> status;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        int32_t i, j, k, z;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        SWXRANInterfaceTypeEnum eInterfaceType;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="keywordtype">void</span> *ptr;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordtype">void</span> *mb;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        uint32_t *u32dptr;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        uint16_t *u16dptr;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        uint8_t  *u8dptr;</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;        std::cout &lt;&lt; <span class="stringliteral">&quot;XRAN front haul xran_mm_init&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        status = <a class="code" href="xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962">xran_mm_init</a>(m_xranhandle, (uint64_t) <a class="code" href="xran__lib__wrap_8hpp.html#ad5b1e2ec82b937000bd1fe89acb5384c">SW_FPGA_FH_TOTAL_BUFFER_LEN</a>, <a class="code" href="xran__lib__wrap_8hpp.html#ae9c34194d5ec7c9c24b680085991306c">SW_FPGA_SEGMENT_BUFFER_LEN</a>);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;Failed at XRAN front haul xran_mm_init&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;            }</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="comment">/* initialize maximum instances to have flexibility for the tests */</span></div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordtype">int</span> nInstanceNum = <a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        <span class="comment">/* initialize maximum supported CC to have flexibility on the test */</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        int32_t nSectorNum = 6;<span class="comment">//XRAN_MAX_SECTOR_NR;</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</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="l00220"></a><span class="lineno">  220</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5">xran_sector_get_instances</a>(m_xranhandle, nInstanceNum, &amp;m_nInstanceHandle[k][0]);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;            <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;                std::cout  &lt;&lt; <span class="stringliteral">&quot;get sector instance failed &quot;</span> &lt;&lt; k &lt;&lt; <span class="stringliteral">&quot; for XRAN nInstanceNum &quot;</span> &lt;&lt; nInstanceNum &lt;&lt; std::endl;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                <span class="keywordflow">return</span> (-1);</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;            <span class="keywordflow">for</span> (i = 0; i &lt; nInstanceNum; i++)</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                std::cout &lt;&lt; __func__ &lt;&lt; <span class="stringliteral">&quot; [&quot;</span> &lt;&lt; k &lt;&lt; <span class="stringliteral">&quot;]: CC &quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot; handle &quot;</span> &lt;&lt; m_nInstanceHandle[0][i] &lt;&lt; std::endl;</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;        std::cout &lt;&lt; <span class="stringliteral">&quot;Sucess xran_mm_init&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="comment">/* Init Memory */</span></div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keywordflow">for</span>(i = 0; i&lt;nSectorNum; i++) {</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5">XRANFTHTX_OUT</a>;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                            &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00235"></a><span class="lineno">  235</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>,</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                            m_nSW_ToFpga_FTH_TxBufferLen);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;            <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                <span class="keywordflow">return</span> (-1);</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;            <span class="keywordflow">for</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="l00242"></a><span class="lineno">  242</span>&#160;                <span class="keywordflow">for</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="l00243"></a><span class="lineno">  243</span>&#160;                    m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f">bValid</a> = 0;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                    m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6">nSegGenerated</a> = -1;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;                    m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818">nSegToBeGen</a> = -1;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                    m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803">nSegTransferred</a> = 0;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                    m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e">nNumBuffers</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="l00248"></a><span class="lineno">  248</span>&#160;                    m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a> = &amp;<a class="code" href="classxran_lib_wraper.html#aaf96fa2c0147a497910401ba377506db">m_sFrontHaulTxBuffers</a>[j][i][z][0];</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                    <span class="keywordflow">for</span>(k = 0; k &lt; <a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>; k++) {</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;                        m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe">nElementLenInBytes</a> = <a class="code" href="classxran_lib_wraper.html#a21b3d390c6eee5d15152cdc5459ff523">m_nSW_ToFpga_FTH_TxBufferLen</a>; <span class="comment">// 14 symbols 3200bytes/symbol</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;                        m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21">nNumberOfElements</a> = 1;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;                        m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d">nOffsetInBytes</a> = 0;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;                        status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &amp;ptr, &amp;mb);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;                        <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                            std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at  xran_bm_allocate_buffer, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;                            }</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;                        m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">pData</a> = (uint8_t *)ptr;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;                        m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">pCtrl</a> = (<span class="keywordtype">void</span> *)mb;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;                        <span class="keywordflow">if</span>(ptr) {</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;                            u32dptr = (uint32_t*)(ptr);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                            uint8_t *ptr_temp = (uint8_t *)ptr;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                            memset(u32dptr, 0x0, m_nSW_ToFpga_FTH_TxBufferLen);</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">  268</span>&#160;                    }</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;                }</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <span class="comment">/* C-plane DL */</span></div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b">XRANFTHTX_SEC_DESC_OUT</a>;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                            &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                            XRAN_N_FE_BUF_LEN * <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a> * XRAN_NUM_OF_SYMBOL_PER_SLOT*<a class="code" href="xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973">XRAN_MAX_SECTIONS_PER_SYM</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__section__desc.html">xran_section_desc</a>));</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            <span class="keywordflow">if</span>(<a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a> != status) {</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                <span class="keywordflow">return</span> (-1);</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">  280</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1">XRANFTHTX_PRB_MAP_OUT</a>;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;                            &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                            XRAN_N_FE_BUF_LEN * <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a> * XRAN_NUM_OF_SYMBOL_PER_SLOT,</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                            <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__prb__map.html">xran_prb_map</a>));</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;            }</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;            <span class="keywordflow">for</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="l00290"></a><span class="lineno">  290</span>&#160;                <span class="keywordflow">for</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="l00291"></a><span class="lineno">  291</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f">bValid</a> = 0;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6">nSegGenerated</a> = -1;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818">nSegToBeGen</a> = -1;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803">nSegTransferred</a> = 0;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e">nNumBuffers</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="l00296"></a><span class="lineno">  296</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a> = &amp;<a class="code" href="classxran_lib_wraper.html#aa1611b01fe2d460ebe58e45c901f68e8">m_sFrontHaulTxPrbMapBuffers</a>[j][i][z];</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe">nElementLenInBytes</a> = <span class="keyword">sizeof</span>(<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a>);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21">nNumberOfElements</a> = 1;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d">nOffsetInBytes</a> = 0;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                    status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &amp;ptr, &amp;mb);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                    <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                        std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_allocate_buffer, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                        <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                        }</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">pData</a> = (uint8_t *)ptr;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                    m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">pCtrl</a> = (<span class="keywordtype">void</span> *)mb;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                    <span class="keywordtype">void</span> *sd_ptr;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                    <span class="keywordtype">void</span> *sd_mb;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                    <span class="keywordtype">int</span>  elm_id;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                    <span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> * p_rb_map = (<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> *)ptr;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                    <span class="comment">//memcpy(ptr, &amp;startupConfiguration.PrbMap, sizeof(struct xran_prb_map));</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                    <span class="keywordflow">for</span> (elm_id = 0; elm_id &lt; <a class="code" href="xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973">XRAN_MAX_SECTIONS_PER_SYM</a>; elm_id++){</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;                        <span class="keyword">struct </span><a class="code" href="structxran__prb__elm.html">xran_prb_elm</a> *pPrbElem = &amp;p_rb_map-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[elm_id];</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                        <span class="keywordflow">for</span>(k = 0; k &lt; <a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>; k++){</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                            status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][<a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b">XRANFTHTX_SEC_DESC_OUT</a>], &amp;sd_ptr, &amp;sd_mb);</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                            <span class="keywordflow">if</span>(<a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a> != status){</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot;SD Failed at  xran_bm_allocate_buffer , status %d\n&quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                            }</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                            pPrbElem-&gt;<a class="code" href="structxran__prb__elm.html#a6c405fdd34c38d29b355cd051527ad9b">p_sec_desc</a>[k] = (<span class="keyword">struct </span><a class="code" href="structxran__section__desc.html">xran_section_desc</a> *)sd_ptr;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                        }</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;                    }</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                 }</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;             }</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        }</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <span class="keywordflow">for</span>(i = 0; i&lt;nSectorNum; i++) {</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54">XRANFTHRX_IN</a>;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;                            &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00332"></a><span class="lineno">  332</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>,</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                            m_nSW_ToFpga_FTH_TxBufferLen);  <span class="comment">/* ????, actual alloc size is m_nFpgaToSW_FTH_RxBUfferLen */</span></div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;            <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;                }</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;            <span class="keywordflow">for</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="l00340"></a><span class="lineno">  340</span>&#160;                <span class="keywordflow">for</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="l00341"></a><span class="lineno">  341</span>&#160;                    m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f">bValid</a>                  = 0;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;                    m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6">nSegGenerated</a>           = -1;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                    m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818">nSegToBeGen</a>             = -1;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                    m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803">nSegTransferred</a>         = 0;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                    m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e">nNumBuffers</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="l00346"></a><span class="lineno">  346</span>&#160;                    m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>    = &amp;<a class="code" href="classxran_lib_wraper.html#a6284df81f3334e6319e99aa3d368acec">m_sFrontHaulRxBuffers</a>[j][i][z][0];</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                    <span class="keywordflow">for</span>(k = 0; k&lt; <a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>; k++) {</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;                        m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe">nElementLenInBytes</a>  = <a class="code" href="classxran_lib_wraper.html#af53e776036ad72ea2d2e5a2bdbbdc0b2">m_nFpgaToSW_FTH_RxBufferLen</a>;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                        m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21">nNumberOfElements</a>   = 1;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                        m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d">nOffsetInBytes</a>      = 0;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                        status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],&amp;ptr, &amp;mb);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                        <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                            std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at  xran_bm_allocate_buffer, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                            }</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                        m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">pData</a>   = (uint8_t *)ptr;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                        m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">pCtrl</a>   = (<span class="keywordtype">void</span> *) mb;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                        <span class="keywordflow">if</span>(ptr) {</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                            u32dptr = (uint32_t*)(ptr);</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                            uint8_t *ptr_temp = (uint8_t *)ptr;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                            memset(u32dptr, 0x0, m_nFpgaToSW_FTH_RxBufferLen);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;                            }</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;                        }</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                    }</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;                }</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35">XRANFTHTX_SEC_DESC_IN</a>;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;                            &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;                            XRAN_N_FE_BUF_LEN * <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a> * XRAN_NUM_OF_SYMBOL_PER_SLOT*<a class="code" href="xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973">XRAN_MAX_SECTIONS_PER_SYM</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__section__desc.html">xran_section_desc</a>));</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;            <span class="keywordflow">if</span>(<a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a> != status) {</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;            }</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2">XRANFTHRX_PRB_MAP_IN</a>;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                                &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                                XRAN_N_FE_BUF_LEN * <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a> * XRAN_NUM_OF_SYMBOL_PER_SLOT,</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;                                <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__prb__map.html">xran_prb_map</a>));</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;            <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;            }</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;            <span class="keywordflow">for</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="l00386"></a><span class="lineno">  386</span>&#160;                <span class="keywordflow">for</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="l00387"></a><span class="lineno">  387</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f">bValid</a>                    = 0;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6">nSegGenerated</a>             = -1;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818">nSegToBeGen</a>               = -1;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803">nSegTransferred</a>           = 0;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e">nNumBuffers</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="l00392"></a><span class="lineno">  392</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>      = &amp;<a class="code" href="classxran_lib_wraper.html#a21adf86e6b2a299b94a4eb59b6094863">m_sFrontHaulRxPrbMapBuffers</a>[j][i][z];</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe">nElementLenInBytes</a>  = <span class="keyword">sizeof</span>(<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a>);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21">nNumberOfElements</a>   = 1;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d">nOffsetInBytes</a>      = 0;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                    status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i],m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &amp;ptr, &amp;mb);</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;                    <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;                        std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at  xran_bm_allocate_buffer , status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;                        <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;                        }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">pData</a>   = (uint8_t *)ptr;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;                    m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>-&gt;<a class="code" href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">pCtrl</a>   = (<span class="keywordtype">void</span> *)mb;</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;                    <span class="keywordtype">void</span> *sd_ptr;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;                    <span class="keywordtype">void</span> *sd_mb;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                    <span class="keywordtype">int</span>  elm_id;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                    <span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> * p_rb_map = (<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> *)ptr;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;                    <span class="comment">//memcpy(ptr, &amp;startupConfiguration.PrbMap, sizeof(struct xran_prb_map));</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;                    <span class="keywordflow">for</span> (elm_id = 0; elm_id &lt; <a class="code" href="xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973">XRAN_MAX_SECTIONS_PER_SYM</a>; elm_id++){</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;                        <span class="keyword">struct </span><a class="code" href="structxran__prb__elm.html">xran_prb_elm</a> *pPrbElem = &amp;p_rb_map-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[elm_id];</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                        <span class="keywordflow">for</span>(k = 0; k &lt; <a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>; k++){</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                            status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][<a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35">XRANFTHTX_SEC_DESC_IN</a>], &amp;sd_ptr, &amp;sd_mb);</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                            <span class="keywordflow">if</span>(<a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a> != status){</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;                                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot;SD Failed at  xran_bm_allocate_buffer , status %d\n&quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;                                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                            }</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;                            pPrbElem-&gt;<a class="code" href="structxran__prb__elm.html#a6c405fdd34c38d29b355cd051527ad9b">p_sec_desc</a>[k] = (<span class="keyword">struct </span><a class="code" href="structxran__section__desc.html">xran_section_desc</a> *)sd_ptr;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                        }</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                    }</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                }</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;            }</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        }</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keywordflow">for</span>(i = 0; i&lt;nSectorNum; i++) {</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;            eInterfaceType = <a class="code" href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729">XRANFTHRACH_IN</a>;</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;            status = <a class="code" href="xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe">xran_bm_init</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                                &amp;m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],</div><div class="line"><a name="l00428"></a><span class="lineno">  428</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>,</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                                <a class="code" href="xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3">FPGA_TO_SW_PRACH_RX_BUFFER_LEN</a>);</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;            <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;                std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at xran_bm_init, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;                <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;                }</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;            <span class="keywordflow">for</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="l00435"></a><span class="lineno">  435</span>&#160;                <span class="keywordflow">for</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="l00436"></a><span class="lineno">  436</span>&#160;                    m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f">bValid</a>                    = 0;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                    m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6">nSegGenerated</a>             = -1;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                    m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818">nSegToBeGen</a>               = -1;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                    m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803">nSegTransferred</a>           = 0;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                    m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e">nNumBuffers</a>   = <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;                    m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>      = &amp;<a class="code" href="classxran_lib_wraper.html#ad84b20c11b0095b35674f3eb1c247375">m_sFHPrachRxBuffers</a>[j][i][z][0];</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;                    <span class="keywordflow">for</span>(k = 0; k&lt; <a class="code" href="xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205">XRAN_NUM_OF_SYMBOL_PER_SLOT</a>; k++) {</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                        m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe">nElementLenInBytes</a>    = <a class="code" href="xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3">FPGA_TO_SW_PRACH_RX_BUFFER_LEN</a>;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;                        m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21">nNumberOfElements</a>     = 1;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;                        m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d">nOffsetInBytes</a>        = 0;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                        status = <a class="code" href="xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81">xran_bm_allocate_buffer</a>(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &amp;ptr, &amp;mb);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;                        <span class="keywordflow">if</span>(status != <a class="code" href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a>) {</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                            std::cout &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed at  xran_bm_allocate_buffer, status &quot;</span> &lt;&lt; status &lt;&lt; std::endl;</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;                            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;                            }</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;                        m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">pData</a> = (uint8_t *)ptr;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;                        m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>.<a class="code" href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">pBuffers</a>[k].<a class="code" href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">pCtrl</a> = (<span class="keywordtype">void</span> *)mb;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;                        <span class="keywordflow">if</span>(ptr) {</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;                            u32dptr = (uint32_t*)(ptr);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;                            memset(u32dptr, 0x0, <a class="code" href="xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3">FPGA_TO_SW_PRACH_RX_BUFFER_LEN</a>);</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;                            }</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;                        }</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;                    }</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;                }</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;            }</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keywordflow">return</span> (0);</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    }</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a2e64fc338fcfaac25af91aae564777fa">  467</a></span>&#160;    <a class="code" href="classxran_lib_wraper.html#a2e64fc338fcfaac25af91aae564777fa">xranLibWraper</a>()</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    {</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        <span class="keywordtype">int</span> i, temp;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        std::string tmpstr;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tmp_mac[6];</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        m_global_cfg = <a class="code" href="common_8cpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428">read_json_from_file</a>(<a class="code" href="xran__lib__wrap_8hpp.html#a7959c3e12f3260a6461fe2610203d1af">XRAN_UT_CFG_FILENAME</a>);</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        memset(&amp;<a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="structxran__fh__init.html">xran_fh_init</a>));</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#a1e6927fa1486224044e568f9c370519b">id</a>  = 0;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="comment">/* DPDK configuration */</span></div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        m_dpdk_dev_up = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;dpdk_dev_up&quot;</span>);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        m_dpdk_dev_cp = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;dpdk_dev_cp&quot;</span>);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#ae58734e2aff608373089778da1aa4efa">dpdk_dev</a>[<a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab">XRAN_UP_VF</a>]  = (m_dpdk_dev_up == <span class="stringliteral">&quot;&quot;</span>) ? NULL : (<span class="keywordtype">char</span> *)&amp;<a class="code" href="classxran_lib_wraper.html#a790ada9a4b1a467dc29bc4bfa1ec3e20">m_dpdk_dev_up</a>;</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#ae58734e2aff608373089778da1aa4efa">dpdk_dev</a>[<a class="code" href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a">XRAN_CP_VF</a>]  = (m_dpdk_dev_cp == <span class="stringliteral">&quot;&quot;</span>) ? NULL : (<span class="keywordtype">char</span> *)&amp;<a class="code" href="classxran_lib_wraper.html#aa0dbf843da8d26633022c153c473deb5">m_dpdk_dev_cp</a>;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#a53341e81716fce9aeddee73d7228f2bf">core</a>              = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;core&quot;</span>);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#a727bdc89e33bfc7d18dfaf166d46598a">system_core</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;system_core&quot;</span>);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#a7ea8f53112b353d5e98cc955437f3706">pkt_proc_core</a>     = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;pkt_proc_core&quot;</span>);</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#afc9b03cdc767412993891263da114dc3">pkt_aux_core</a>      = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;pkt_aux_core&quot;</span>);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#aa442a227739dcff5212e5356dee54b68">timing_core</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;timing_core&quot;</span>);</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        std::string bbdev_mode = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;bbdev_mode&quot;</span>);</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        <span class="keywordflow">if</span>(bbdev_mode == <span class="stringliteral">&quot;sw&quot;</span>)</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c">bbdev_mode</a>    = <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0">XRAN_BBDEV_MODE_HW_OFF</a>;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span>(bbdev_mode == <span class="stringliteral">&quot;hw&quot;</span>)</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c">bbdev_mode</a>    = <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39">XRAN_BBDEV_MODE_HW_ON</a>;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span>(bbdev_mode == <span class="stringliteral">&quot;none&quot;</span>)</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c">bbdev_mode</a>    = <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">XRAN_BBDEV_NOT_USED</a>;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;Invalid BBDev mode [&quot;</span> &lt;&lt; bbdev_mode &lt;&lt; <span class="stringliteral">&quot;], bbdev won&#39;t be used.&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">io_cfg</a>.<a class="code" href="structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c">bbdev_mode</a>    = <a class="code" href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">XRAN_BBDEV_NOT_USED</a>;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;            }</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a4f3d38bbb69d7dc49515ba2e0002537e">dpdkBasebandFecMode</a>      = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;dpdkBasebandFecMode&quot;</span>);</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        m_dpdk_bbdev = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;dpdkBasebandDevice&quot;</span>);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab783700ba1f1b7d6d617a102f01e2e8a">dpdkBasebandDevice</a>       = (m_dpdk_bbdev == <span class="stringliteral">&quot;&quot;</span>) ? NULL : (<span class="keywordtype">char</span> *)&amp;<a class="code" href="classxran_lib_wraper.html#af2f499e1b7c34ec4e1c600e00bddc75f">m_dpdk_bbdev</a>;</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <span class="comment">/* Network configurations */</span></div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3c8ee4e9dd2a5354e83fb30c95598f30">mtu</a>          = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;mtu&quot;</span>);</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        std::string du_mac_str = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;o_du_macaddr&quot;</span>);</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        std::string ru_mac_str = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;o_ru_macaddr&quot;</span>);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <span class="comment">/* using temp variables to resolve KW issue */</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        std::sscanf(du_mac_str.c_str(), <span class="stringliteral">&quot;%02x:%02x:%02x:%02x:%02x:%02x&quot;</span>,</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                                           &amp;tmp_mac[0], &amp;tmp_mac[1], &amp;tmp_mac[2],</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;                                           &amp;tmp_mac[3], &amp;tmp_mac[4], &amp;tmp_mac[5]);</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordflow">for</span>(i=0; i&lt;6; i++)</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;            m_du_mac[i] = (uint8_t)tmp_mac[i];</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        std::sscanf(du_mac_str.c_str(), <span class="stringliteral">&quot;%02x:%02x:%02x:%02x:%02x:%02x&quot;</span>,</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;                                           &amp;tmp_mac[0], &amp;tmp_mac[1], &amp;tmp_mac[2],</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;                                           &amp;tmp_mac[3], &amp;tmp_mac[4], &amp;tmp_mac[5]);</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        <span class="keywordflow">for</span>(i=0; i&lt;6; i++)</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;            m_ru_mac[i] = (uint8_t)tmp_mac[i];</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>  = (int8_t *)m_du_mac;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>  = (int8_t *)m_ru_mac;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adc6cb9229207f58f6c4375305dcb5384">cp_vlan_tag</a>  = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;cp_vlan_tag&quot;</span>);</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ae5c22bf3cd63e278914bf627dab04ce8">up_vlan_tag</a>  = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a>, <span class="stringliteral">&quot;up_vlan_tag&quot;</span>);</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;        <span class="comment">/* eAxCID configurations */</span></div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        <span class="keywordtype">int</span> bitnum_cuport   = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540">XRAN_UT_KEY_GLOBALCFG_EAXCID</a>, <span class="stringliteral">&quot;bit_cuPortId&quot;</span>);</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <span class="keywordtype">int</span> bitnum_bandsec  = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540">XRAN_UT_KEY_GLOBALCFG_EAXCID</a>, <span class="stringliteral">&quot;bit_bandSectorId&quot;</span>);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <span class="keywordtype">int</span> bitnum_ccid     = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540">XRAN_UT_KEY_GLOBALCFG_EAXCID</a>, <span class="stringliteral">&quot;bit_ccId&quot;</span>);</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <span class="keywordtype">int</span> bitnum_ruport   = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540">XRAN_UT_KEY_GLOBALCFG_EAXCID</a>, <span class="stringliteral">&quot;bit_ruPortId&quot;</span>);</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b">bit_cuPortId</a>       = bitnum_bandsec + bitnum_ccid + bitnum_ruport;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594">bit_bandSectorId</a>   = bitnum_ccid + bitnum_ruport;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455">bit_ccId</a>           = bitnum_ruport;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23">bit_ruPortId</a>       = 0;</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a3357253b181bed8132156f87728efc8d">mask_cuPortId</a>      = get_eaxcid_mask(bitnum_cuport, <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b">bit_cuPortId</a>);</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#affca087d8bc179073b5ae2f429340898">mask_bandSectorId</a>  = get_eaxcid_mask(bitnum_bandsec, <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594">bit_bandSectorId</a>);</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a0ba87d865af2deb1ee2565f528e1e72d">mask_ccId</a>          = get_eaxcid_mask(bitnum_ccid, <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455">bit_ccId</a>);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a64cc7d4da64fe531f01c6bb54e6a02f3">mask_ruPortId</a>      = get_eaxcid_mask(bitnum_ruport, <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23">bit_ruPortId</a>);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#af01fc39016255fbbedd02b31bb9c7959">totalBfWeights</a>   = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;totalBfWeights&quot;</span>);</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a05dca46f0128cb233e7d4f73215cc4a9">Tadv_cp_dl</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;Tadv_cp_dl&quot;</span>);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#aebed6420fb04aabce30025eec4583807">T2a_min_cp_dl</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T2a_min_cp_dl&quot;</span>);</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a5df6250657a91c27fa2416154ec5a609">T2a_max_cp_dl</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T2a_max_cp_dl&quot;</span>);</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#acfa0c4237b95b1dc83d19e00d6487ec0">T2a_min_cp_ul</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T2a_min_cp_ul&quot;</span>);</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a60007ed3e328b06fb7f7ff2b3a37dac5">T2a_max_cp_ul</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T2a_max_cp_ul&quot;</span>);</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#aac84937e634fccb665c6de923af50c0f">T2a_min_up</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T2a_min_up&quot;</span>);</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#af27977cbf63a8beb2fd6b1f17c1502df">T2a_max_up</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T2a_max_up&quot;</span>);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ac2e5d027408848a38879331bf54d5adf">Ta3_min</a>          = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;Ta3_min&quot;</span>);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a82517c890db705ee58767fd245193214">Ta3_max</a>          = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;Ta3_max&quot;</span>);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a73b80929304dcde73f2c2f6d4f7448fa">T1a_min_cp_dl</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T1a_min_cp_dl&quot;</span>);</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a6080f8ca5894be470378d6f265c1f665">T1a_max_cp_dl</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T1a_max_cp_dl&quot;</span>);</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab2d0817976952478020b3437b3dbbfc3">T1a_min_cp_ul</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T1a_min_cp_ul&quot;</span>);</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a71254f497cb48a57b123c7f4897b7a38">T1a_max_cp_ul</a>    = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T1a_max_cp_ul&quot;</span>);</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a0447175262da4e12814983c97d73ad21">T1a_min_up</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T1a_min_up&quot;</span>);</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a76ae7531da0aa8656d95c194f1e75b0f">T1a_max_up</a>       = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;T1a_max_up&quot;</span>);</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ad8a8a60941ab888de5187345ce5fc92c">Ta4_min</a>          = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;Ta4_min&quot;</span>);</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a934a145ce39320896b81ac25276b24d8">Ta4_max</a>          = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;Ta4_max&quot;</span>);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38">enableCP</a>         = 1;</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ac0646000d1448798a186e109df0bb3dd">prachEnable</a>      = 1;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a8ad55119f3b227785857aaddef6a8384">debugStop</a>        = 0;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a0ce1293a9896f3e28d960a0b1d9dc911">debugStopCount</a>   = 0;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a6fcbf469691a192f1ce298f70981c17a">DynamicSectionEna</a>= 0;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a6a78f61ed42f876c7cfa835be5ed0942">filePrefix</a>   = <span class="stringliteral">&quot;wls&quot;</span>;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        m_bSub6     = get_globalcfg&lt;bool&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;sub6&quot;</span>);</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        memset(&amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>, 0, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a>));</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        tmpstr = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;duplex&quot;</span>);</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        <span class="keywordflow">if</span>(tmpstr == <span class="stringliteral">&quot;FDD&quot;</span>) {</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">nFrameDuplexType</a>  = 0;</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;            }</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span>(tmpstr == <span class="stringliteral">&quot;TDD&quot;</span>) {</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">nFrameDuplexType</a>  = 1;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;            std::string slotcfg_key = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;slot_config&quot;</span>);</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;            <span class="keywordtype">int</span> numcfg = get_globalcfg&lt;int&gt;(slotcfg_key, <span class="stringliteral">&quot;period&quot;</span>);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a53a1d989c6dee827495401b1973c9ef8">nTddPeriod</a> = numcfg;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;            <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt; numcfg; i++) {</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;                std::stringstream slotcfgname;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;                slotcfgname &lt;&lt; <span class="stringliteral">&quot;slot&quot;</span> &lt;&lt; i;</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;                std::vector&lt;int&gt; slotcfg = get_globalcfg_array&lt;int&gt;(slotcfg_key, slotcfgname.str());</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;                <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j=0; j &lt; slotcfg.size(); j++) {</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;                    <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">sSlotConfig</a>[i].<a class="code" href="structxran__slot__config.html#a37a7dc4b204c22c2d8b9da9b07abd154">nSymbolType</a>[j] = slotcfg[j];</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;                    }</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;                <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">sSlotConfig</a>[i].<a class="code" href="structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28">reserved</a>[0] = 0;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;                <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">sSlotConfig</a>[i].<a class="code" href="structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28">reserved</a>[1] = 0;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;                }</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            }</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;*** Invalid Duplex type [&quot;</span> &lt;&lt; tmpstr &lt;&lt; <span class="stringliteral">&quot;] !!!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;****** Set it to FDD... &quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">nFrameDuplexType</a>  = 0;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;            }</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;mu&quot;</span>);</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a> &gt; 3) {</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;*** Invalid Numerology [&quot;</span> &lt;&lt; <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a> &lt;&lt; <span class="stringliteral">&quot;] !!!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a>   = 0;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;****** Set it to &quot;</span> &lt;&lt; <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a> &lt;&lt; <span class="stringliteral">&quot;...&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            }</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">nCC</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;num_cc&quot;</span>);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">nCC</a> &gt; <a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>) {</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;*** Exceeds maximum number of carriers supported [&quot;</span> &lt;&lt; <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">nCC</a> &lt;&lt; <span class="stringliteral">&quot;] !!!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">nCC</a> = <a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;****** Adjusted to &quot;</span> &lt;&lt; <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">nCC</a> &lt;&lt; <span class="stringliteral">&quot;...&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            }</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">neAxc</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;num_eaxc&quot;</span>);</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">neAxc</a> &gt; <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>) {</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;*** Exceeds maximum number of antenna supported [&quot;</span> &lt;&lt; <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">neAxc</a> &lt;&lt; <span class="stringliteral">&quot;] !!!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">neAxc</a> = <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>;</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;****** Adjusted to &quot;</span> &lt;&lt; <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">neAxc</a> &lt;&lt; <span class="stringliteral">&quot;...&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;            }</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        m_bSub6     = get_globalcfg&lt;bool&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;sub6&quot;</span>);</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;        temp = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;chbw_dl&quot;</span>);</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a7917929ae3bb588a5bf6f4e56cf9549e">nDLRBs</a> = <a class="code" href="classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d">get_num_rbs</a>(<a class="code" href="classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c">get_numerology</a>(), temp, m_bSub6);</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        temp = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;chbw_ul&quot;</span>);</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a5448b37ad609bb66bf44b44d1f9bac72">nULRBs</a> = <a class="code" href="classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d">get_num_rbs</a>(<a class="code" href="classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c">get_numerology</a>(), temp, m_bSub6);</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#ac63d8c67956a8a08cbfd8efb92a2f055">nAntElmTRx</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;ant_elm_trx&quot;</span>);</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a8956e982993d4b310e3bffe207f66405">nDLFftSize</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;fft_size&quot;</span>);</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#ae4908e70f937e7eca578e348f4e3911f">nULFftSize</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;fft_size&quot;</span>);</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6">nPrachConfIdx</a>     = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">XRAN_UT_KEY_GLOBALCFG_PRACH</a>, <span class="stringliteral">&quot;config_id&quot;</span>);</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#ab9b99e41ea39f16780f66a539aa872c8">nPrachSubcSpacing</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">XRAN_UT_KEY_GLOBALCFG_PRACH</a>, <span class="stringliteral">&quot;scs&quot;</span>);</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf">nPrachFreqStart</a>   = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">XRAN_UT_KEY_GLOBALCFG_PRACH</a>, <span class="stringliteral">&quot;freq_start&quot;</span>);</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf">nPrachFreqOffset</a>  = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">XRAN_UT_KEY_GLOBALCFG_PRACH</a>, <span class="stringliteral">&quot;freq_offset&quot;</span>);</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#ab3ca7a740428b7023b7e29197124983b">nPrachFilterIdx</a>   = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">XRAN_UT_KEY_GLOBALCFG_PRACH</a>, <span class="stringliteral">&quot;filter_id&quot;</span>);</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#a45ae197adc4010202a5b71d7b602bc0c">nPrachZeroCorrConf</a>= 0;</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#a26e6c95dfde831c2588d46dde588c751">nPrachRestrictSet</a> = 0;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>.<a class="code" href="structxran__prach__config.html#a66b19aaa946c36b309a3403b3d576c58">nPrachRootSeqIdx</a>  = 0;</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        tmpstr = get_globalcfg&lt;std::string&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;category&quot;</span>);</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keywordflow">if</span>(tmpstr == <span class="stringliteral">&quot;A&quot;</span>)</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359">xranCat</a> = <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a>;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span>(tmpstr == <span class="stringliteral">&quot;B&quot;</span>)</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359">xranCat</a> = <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a>;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;*** Invalid RU Category [&quot;</span> &lt;&lt; tmpstr &lt;&lt; <span class="stringliteral">&quot;] !!!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;****** Set it to Category A... &quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;            <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359">xranCat</a> = <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a>;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;            }</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#a1520b1ef6131bff6c14b88d849c266c5">iqWidth</a>  = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;iq_width&quot;</span>);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#a1e4a3c43fc7865c6520471fb9ba8501f">compMeth</a> = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;comp_meth&quot;</span>);</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;        temp = get_globalcfg&lt;int&gt;(<a class="code" href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a>, <span class="stringliteral">&quot;fft_size&quot;</span>);</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#a59e7e8f3feb686850b0cb0ae065de85b">fftSize</a>  = 0;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <span class="keywordflow">while</span> (temp &gt;&gt;= 1)</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;            ++<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#a59e7e8f3feb686850b0cb0ae065de85b">fftSize</a>;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#a74e72997edeea7f9f1696baffb9989b4">byteOrder</a>    =  <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8">XRAN_NE_BE_BYTE_ORDER</a>;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#ad1b1309ca2645e24fa201f8decae1988">iqOrder</a>      =  <a class="code" href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21">XRAN_I_Q_ORDER</a>;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;        <a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad">log_level</a>    = 0;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="comment">        m_xranConf.bbdev_enc = nullptr;</span></div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="comment">        m_xranConf.bbdev_dec = nullptr;</span></div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="comment">        m_xranConf.ttiCb    = nullptr;</span></div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="comment">        m_xranConf.ttiCbParam   = nullptr;</span></div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    }</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a6608686375e6c9e5c3ce59970e4b90e0">  674</a></span>&#160;    <a class="code" href="classxran_lib_wraper.html#a6608686375e6c9e5c3ce59970e4b90e0">~xranLibWraper</a>()</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;    {</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    }</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;</div><div class="line"><a name="l00678"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f">  678</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f">SetUp</a>()</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    {</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        printf(<span class="stringliteral">&quot;O-DU MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n&quot;</span>,</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>[0],</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>[1],</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>[2],</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>[3],</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>[4],</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">p_o_du_addr</a>[5]);</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        printf(<span class="stringliteral">&quot;O-RU MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n&quot;</span>,</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>[0],</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>[1],</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>[2],</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>[3],</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>[4],</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">p_o_ru_addr</a>[5]);</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;        printf(<span class="stringliteral">&quot;eAxCID - %d:%d:%d:%d (%04x, %04x, %04x, %04x)\n&quot;</span>,</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b">bit_cuPortId</a>,</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594">bit_bandSectorId</a>,</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455">bit_ccId</a>,</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23">bit_ruPortId</a>,</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a3357253b181bed8132156f87728efc8d">mask_cuPortId</a>,</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#affca087d8bc179073b5ae2f429340898">mask_bandSectorId</a>,</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a0ba87d865af2deb1ee2565f528e1e72d">mask_ccId</a>,</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">eAxCId_conf</a>.<a class="code" href="structxran__eaxcid__config.html#a64cc7d4da64fe531f01c6bb54e6a02f3">mask_ruPortId</a>);</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        printf(<span class="stringliteral">&quot;Total BF Weights : %d\n&quot;</span>, <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#af01fc39016255fbbedd02b31bb9c7959">totalBfWeights</a>);</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;        <a class="code" href="xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f">xran_init</a>(0, NULL, &amp;<a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>, &amp;argv[0], &amp;m_xranhandle);</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        <span class="keywordflow">for</span>(i = 0; i &lt; <a class="code" href="xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc">XRAN_MAX_SECTOR_NR</a>; i++)</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;            m_nSectorIndex[i] = i;</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;        <span class="comment">/* set to maximum length to support multiple cases */</span></div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;        m_nFpgaToSW_FTH_RxBufferLen     = 13168; <span class="comment">/* 273*12*4 + 64*/</span></div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        m_nSW_ToFpga_FTH_TxBufferLen    = 13168; <span class="comment">/* 273*12*4 + 64*/</span></div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;        <span class="keywordflow">if</span>(init_memory() &lt; 0) {</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;Fatal Error on Initialization !!!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;INIT FAILED&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;            }</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;INIT DONE&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;        <span class="keywordflow">return</span> (0);</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    }</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a931587596081ef8178c2b128facb0411">  729</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a931587596081ef8178c2b128facb0411">TearDown</a>()</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;    {</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;        <span class="keywordflow">if</span>(m_xranhandle) {</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;            <a class="code" href="xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b">xran_close</a>(m_xranhandle);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;            m_xranhandle = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;CLOSE DONE&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;            }</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;            std::cout &lt;&lt; <span class="stringliteral">&quot;ALREADY CLOSED&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    }</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a200da4e2209141f12cafef2380cb801a">  740</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a200da4e2209141f12cafef2380cb801a">Init</a>(<span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a> *pCfg = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    {</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a> status;</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        int32_t nSectorNum;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        int32_t i, j, k, z;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordtype">void</span> *ptr;</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;        <span class="keywordtype">void</span> *mb;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;        uint32_t *u32dptr;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        uint16_t *u16dptr;</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;        uint8_t  *u8dptr;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        SWXRANInterfaceTypeEnum eInterfaceType;</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        int32_t cc_id, ant_id, sym_id, tti;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        int32_t flowId;</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;        <span class="keywordtype">char</span>    *pos        = NULL;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        <span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> *pRbMap = NULL;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        <span class="comment">/* Update member variables */</span></div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        <span class="keywordflow">if</span>(pCfg)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;            memcpy(&amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>, pCfg, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a>));</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;        <span class="comment">/* Init timer context */</span></div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a273a09cbea9267272f4e2a339059e442">xran_lib_ota_tti</a>        = 0;</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a>        = 0;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04">xran_lib_ota_sym_idx</a>    = 0;</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;        <span class="keywordflow">for</span>(i=0; i &lt; <a class="code" href="xran__lib__wrap_8hpp.html#a16ea7ba6b48522ff69767c3a3d31b776">MAX_NUM_OF_XRAN_CTX</a>; i++)</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a74cbf8f188c4df27d645f80be26bb077">m_timer_ctx</a>[i].<a class="code" href="structxran_lib_wraper_1_1xran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66">tti_to_process</a> = i;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        nSectorNum = <a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>();</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="comment">/* Cat B RU support */</span></div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>() == <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a>) {</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            <span class="comment">/* 10 * [14*32*273*2*2] = 4892160 bytes */</span></div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;            iq_bfw_buffer_size_dl = (m_nSlots * <a class="code" href="common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b">N_SYM_PER_SLOT</a> * <a class="code" href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4">get_num_antelmtrx</a>() * <a class="code" href="classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4">get_num_dlrbs</a>() * 4L);</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;            iq_bfw_buffer_size_ul = (m_nSlots * <a class="code" href="common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b">N_SYM_PER_SLOT</a> * <a class="code" href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4">get_num_antelmtrx</a>() * <a class="code" href="classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da">get_num_ulrbs</a>() * 4L);</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;            <span class="keywordflow">for</span>(i = 0; i &lt; <a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a> &amp;&amp; i &lt; (uint32_t)(<a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>() * <a class="code" href="classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070">get_num_eaxc</a>()); i++) {</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;                p_tx_dl_bfw_buffer[i]   = (int16_t*)malloc(iq_bfw_buffer_size_dl);</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                tx_dl_bfw_buffer_size[i] = (int32_t)iq_bfw_buffer_size_dl;</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;                <span class="keywordflow">if</span>(p_tx_dl_bfw_buffer[i] == NULL)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;                    <span class="keywordflow">return</span>(-1);</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;                memset(p_tx_dl_bfw_buffer[i], <span class="charliteral">&#39;D&#39;</span>, iq_bfw_buffer_size_dl);</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                tx_dl_bfw_buffer_position[i] = 0;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;                p_tx_ul_bfw_buffer[i]    = (int16_t*)malloc(iq_bfw_buffer_size_ul);</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;                tx_ul_bfw_buffer_size[i] = (int32_t)iq_bfw_buffer_size_ul;</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;                <span class="keywordflow">if</span>(p_tx_ul_bfw_buffer[i] == NULL)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;                    <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                memset(p_tx_ul_bfw_buffer[i], <span class="charliteral">&#39;U&#39;</span>, iq_bfw_buffer_size_ul);</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;                tx_ul_bfw_buffer_position[i] = 0;</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            }</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        }</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        <span class="comment">/* Init RB map */</span></div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        <span class="keywordflow">for</span>(cc_id = 0; cc_id &lt;nSectorNum; cc_id++) {</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;            <span class="keywordflow">for</span>(tti  = 0; tti  &lt; <a class="code" href="xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a">XRAN_N_FE_BUF_LEN</a>; tti ++) {</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;                <span class="keywordflow">for</span>(ant_id = 0; ant_id &lt; <a class="code" href="xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5">XRAN_MAX_ANTENNA_NR</a>; ant_id++) {</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;                    flowId = XRAN_MAX_ANTENNA_NR*cc_id + ant_id;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;                    <span class="comment">/* C-plane DL */</span></div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;                    pRbMap = (<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> *)m_sFrontHaulTxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers-&gt;<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7941f6b35742c3de02e270f7b80c8dda">pData</a>;</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;                    <span class="keywordflow">if</span>(pRbMap) {</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a92abda0bec7c1c978fe96f87aad18067">dir</a>                     = <a class="code" href="group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f">XRAN_DIR_DL</a>;</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a5ca9a2b3d2a5c902f8153e3e383049be">xran_port</a>               = 0;</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a1c85ead6321835264d2451291430a7da">band_id</a>                 = 0;</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69">cc_id</a>                   = <a class="code" href="structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69">cc_id</a>;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a16b7b2d1f57da5ed39e7e3a026592a85">ru_port_id</a>              = ant_id;</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a689e28eeb2f378d4dc5f915a30f560db">tti_id</a>                  = tti;</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#afc7dda8bf6b9a76f94c88c3610d9c594">start_sym_id</a>            = 0;</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4">nPrbElm</a>                 = 1;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">nRBStart</a>      = 0;</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729">nRBSize</a>       = <a class="code" href="classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4">get_num_dlrbs</a>();</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a5acab5eec7096fb7732c804f71f02a4d">nStartSymb</a>    = 0;</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#ad2586af82c76901c361a2d08a6ba553b">numSymb</a>       = 14;</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#aba198438bbacf8f73b6bfa481b365ce5">nBeamIndex</a>    = 0;</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#ad73157f14fa98c54fb563244c1327933">compMethod</a>    = <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">XRAN_COMPMETHOD_NONE</a>;</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;                        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>() == <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a>) {</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde">BeamFormingType</a>   = <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">XRAN_BEAM_ID_BASED</a>;</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b">bf_weight_update</a>  = 0;</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;                            <span class="comment">//pRbMap-&gt;prbMap[0].bf_attribute.weight[];</span></div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;                            <span class="comment">//pRbMap-&gt;prbMap[0].bf_precoding.weight[];</span></div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;                            }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;                        <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>() == <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a>) {</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;                            <span class="keywordtype">int</span> idxElm;</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;                            <span class="keywordtype">int</span> <a class="code" href="gen__test_8m.html#ac6b31045f94257d82fbbcf64a170a093">iPrb</a>;</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;                            <span class="keywordtype">char</span> *dl_bfw_pos = ((<span class="keywordtype">char</span>*)p_tx_dl_bfw_buffer[flowId]) + tx_dl_bfw_buffer_position[flowId];</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;                            <span class="keyword">struct </span><a class="code" href="structxran__prb__elm.html">xran_prb_elm</a>* p_prbMap = NULL;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;                            <span class="keywordtype">int</span> num_antelm;</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde">BeamFormingType</a>   = <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">XRAN_BEAM_WEIGHT</a>;</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b">bf_weight_update</a>  = 1;</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;                            num_antelm = <a class="code" href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4">get_num_antelmtrx</a>();</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;                            <span class="comment">/* populate beam weights to C-plane for each elm */</span></div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;                            pRbMap-&gt;bf_weight.nAntElmTRx = num_antelm;</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;                            <span class="keywordflow">for</span>(idxElm = 0;  idxElm &lt; pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4">nPrbElm</a>; idxElm++){</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;                                p_prbMap = &amp;pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[idxElm];</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;                                <span class="keywordflow">for</span> (iPrb = p_prbMap-&gt;<a class="code" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">nRBStart</a>; iPrb &lt; (p_prbMap-&gt;<a class="code" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">nRBStart</a> + p_prbMap-&gt;<a class="code" href="structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729">nRBSize</a>); iPrb++) {</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;                                    <span class="comment">/* copy BF W IQs for 1 PRB of */</span></div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;                                    rte_memcpy(&amp;pRbMap-&gt;bf_weight.weight[iPrb][0], (dl_bfw_pos + (iPrb * num_antelm)*4), num_antelm*4);</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;                                    }</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;                                }</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;                            } <span class="comment">/* else if(get_rucategory() == XRAN_CATEGORY_B) */</span></div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;                        } <span class="comment">/* if(pRbMap) */</span></div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;                    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;                        std::cout &lt;&lt; <span class="stringliteral">&quot;DL pRbMap ==NULL&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;                        }</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;                    <span class="comment">/* C-plane UL */</span></div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;                    pRbMap = (<span class="keyword">struct </span><a class="code" href="structxran__prb__map.html">xran_prb_map</a> *)m_sFrontHaulRxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers-&gt;<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#a7941f6b35742c3de02e270f7b80c8dda">pData</a>;</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;                    <span class="keywordflow">if</span>(pRbMap) {</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a92abda0bec7c1c978fe96f87aad18067">dir</a>                     = <a class="code" href="group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05">XRAN_DIR_UL</a>;</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a5ca9a2b3d2a5c902f8153e3e383049be">xran_port</a>               = 0;</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a1c85ead6321835264d2451291430a7da">band_id</a>                 = 0;</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69">cc_id</a>                   = <a class="code" href="structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69">cc_id</a>;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a16b7b2d1f57da5ed39e7e3a026592a85">ru_port_id</a>              = ant_id;</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a689e28eeb2f378d4dc5f915a30f560db">tti_id</a>                  = tti;</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#afc7dda8bf6b9a76f94c88c3610d9c594">start_sym_id</a>            = 0;</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4">nPrbElm</a>                 = 1;</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">nRBStart</a>      = 0;</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729">nRBSize</a>       = <a class="code" href="classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da">get_num_ulrbs</a>();</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a5acab5eec7096fb7732c804f71f02a4d">nStartSymb</a>    = 0;</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#ad2586af82c76901c361a2d08a6ba553b">numSymb</a>       = 14;</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#aba198438bbacf8f73b6bfa481b365ce5">nBeamIndex</a>    = 0;</div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;                        pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#ad73157f14fa98c54fb563244c1327933">compMethod</a>    = <a class="code" href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">XRAN_COMPMETHOD_NONE</a>;</div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;                        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>() == <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a>) {</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde">BeamFormingType</a>   = <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">XRAN_BEAM_ID_BASED</a>;</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b">bf_weight_update</a>  = 0;</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;                            <span class="comment">//pRbMap-&gt;prbMap[0].bf_attribute.weight[];</span></div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;                            <span class="comment">//pRbMap-&gt;prbMap[0].bf_precoding.weight[];</span></div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;                            }</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;                        <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>() == <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a>) {</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;                            <span class="keywordtype">int</span> idxElm;</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;                            <span class="keywordtype">int</span> <a class="code" href="gen__test_8m.html#ac6b31045f94257d82fbbcf64a170a093">iPrb</a>;</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;                            <span class="keywordtype">char</span> *ul_bfw_pos =  ((<span class="keywordtype">char</span>*)p_tx_ul_bfw_buffer[flowId]) + tx_ul_bfw_buffer_position[flowId];</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;                            <span class="keyword">struct </span><a class="code" href="structxran__prb__elm.html">xran_prb_elm</a>* p_prbMap = NULL;</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;                            <span class="keywordtype">int</span> num_antelm;</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde">BeamFormingType</a>   = <a class="code" href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">XRAN_BEAM_WEIGHT</a>;</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;                            pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[0].<a class="code" href="structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b">bf_weight_update</a>  = 1;</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;                            num_antelm = <a class="code" href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4">get_num_antelmtrx</a>();</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;                            <span class="comment">/* populate beam weights to C-plane for each elm */</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;                            pRbMap-&gt;bf_weight.nAntElmTRx = num_antelm;</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;                            <span class="keywordflow">for</span> (idxElm = 0;  idxElm &lt; pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4">nPrbElm</a>; idxElm++){</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;                                p_prbMap = &amp;pRbMap-&gt;<a class="code" href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">prbMap</a>[idxElm];</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;                                <span class="keywordflow">for</span> (iPrb = p_prbMap-&gt;<a class="code" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">nRBStart</a>; iPrb &lt; (p_prbMap-&gt;<a class="code" href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">nRBStart</a> + p_prbMap-&gt;<a class="code" href="structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729">nRBSize</a>); iPrb++){</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;                                    <span class="comment">/* copy BF W IQs for 1 PRB of */</span></div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;                                    rte_memcpy(&amp;pRbMap-&gt;bf_weight.weight[iPrb][0], (ul_bfw_pos + (iPrb*num_antelm)*4), num_antelm*4);</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;                                    }</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;                                }</div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;                            } <span class="comment">/* else if(get_rucategory() == XRAN_CATEGORY_B) */</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;                        } <span class="comment">/* if(pRbMap) */</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;                    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;                        std::cout &lt;&lt; <span class="stringliteral">&quot;UL: pRbMap ==NULL&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;                        }</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;                    }</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;                }</div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;            }</div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;        <span class="keywordflow">return</span> (0);</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;    }</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;</div><div class="line"><a name="l00914"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ae89a123aad1c66a76c398b7af216aae4">  914</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#ae89a123aad1c66a76c398b7af216aae4">Cleanup</a>()</div><div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    {</div><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;        <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;</div><div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>() == <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a>) {</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;            <span class="keywordflow">for</span>(i = 0; i &lt; <a class="code" href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a> &amp;&amp; i &lt; (uint32_t)(<a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>() * <a class="code" href="classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070">get_num_eaxc</a>()); i++) {</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;                <span class="keywordflow">if</span>(p_tx_dl_bfw_buffer[i]) {</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;                    free(p_tx_dl_bfw_buffer[i]);</div><div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;                    p_tx_dl_bfw_buffer[i] == NULL;</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;                    }</div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;                <span class="keywordflow">if</span>(p_tx_ul_bfw_buffer[i]) {</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;                    free(p_tx_ul_bfw_buffer[i]);</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;                    p_tx_ul_bfw_buffer[i] == NULL;</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;                    }</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;                }</div><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;            }</div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    }</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;</div><div class="line"><a name="l00936"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752">  936</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752">Open</a>(<a class="code" href="xran__common_8h.html#aedb267cc96c01f38341f460932d4cc5c">xran_ethdi_mbuf_send_fn</a> send_cp, <a class="code" href="xran__common_8h.html#aedb267cc96c01f38341f460932d4cc5c">xran_ethdi_mbuf_send_fn</a> send_up,</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;            <span class="keywordtype">void</span> *fh_rx_callback, <span class="keywordtype">void</span> *fh_rx_prach_callback)</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    {</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;        <span class="keyword">struct </span><a class="code" href="structxran__fh__config.html">xran_fh_config</a> *<a class="code" href="sample-app_8c.html#ac1813c55eefb1dca0fd1af4c7a173c4a">pXranConf</a>;</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;        int32_t nSectorNum;</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        <span class="keywordtype">int</span> i, j, k, z;</div><div class="line"><a name="l00942"></a><span class="lineno">  942</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="l00943"></a><span class="lineno">  943</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="l00944"></a><span class="lineno">  944</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="l00945"></a><span class="lineno">  945</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="l00946"></a><span class="lineno">  946</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="l00947"></a><span class="lineno">  947</span>&#160;</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;        <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<a class="code" href="sample-app_8c.html#a85ff1667d07b822b2c7f5a91a0c0bc95">xranHandle</a>, <a class="code" href="sample-app_8c.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="l00950"></a><span class="lineno">  950</span>&#160;        <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<a class="code" href="sample-app_8c.html#a85ff1667d07b822b2c7f5a91a0c0bc95">xranHandle</a>, <a class="code" href="sample-app_8c.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="l00951"></a><span class="lineno">  951</span>&#160;        <a class="code" href="xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e">xran_reg_physide_cb</a>(<a class="code" href="sample-app_8c.html#a85ff1667d07b822b2c7f5a91a0c0bc95">xranHandle</a>, <a class="code" href="sample-app_8c.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="l00952"></a><span class="lineno">  952</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        nSectorNum = <a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>();</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;</div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">for</span>(i=0; i&lt;nSectorNum; i++) {</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;            <span class="keywordflow">for</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="l00957"></a><span class="lineno">  957</span>&#160;                <span class="keywordflow">for</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="l00958"></a><span class="lineno">  958</span>&#160;                    pFthTxBuffer[i][z][j]       = &amp;(m_sFrontHaulTxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;                    pFthTxPrbMapBuffer[i][z][j] = &amp;(m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;                    pFthRxBuffer[i][z][j]       = &amp;(m_sFrontHaulRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;                    pFthRxPrbMapBuffer[i][z][j] = &amp;(m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                    pFthRxRachBuffer[i][z][j]   = &amp;(m_sFHPrachRxBbuIoBufCtrl[j][i][z].<a class="code" href="struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70">sBufferList</a>);</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                    }</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;                }</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;            }</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;        <span class="keywordflow">if</span>(m_nInstanceHandle[0] != NULL) {</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;            <span class="keywordflow">for</span>(i = 0; i&lt;nSectorNum; i++) {</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;                <a class="code" href="xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be">xran_5g_fronthault_config</a>(m_nInstanceHandle[0][i],</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;                        pFthTxBuffer[i], pFthTxPrbMapBuffer[i],</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;                        pFthRxBuffer[i], pFthRxPrbMapBuffer[i],</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;                        (<span class="keywordtype">void</span> (*)(<span class="keywordtype">void</span> *, <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a>))fh_rx_callback, &amp;pFthRxBuffer[i][0]);</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;                <a class="code" href="xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25">xran_5g_prach_req</a>(m_nInstanceHandle[0][i], pFthRxRachBuffer[i],</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                        (<span class="keywordtype">void</span> (*)(<span class="keywordtype">void</span> *, <a class="code" href="xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572">xran_status_t</a>))fh_rx_prach_callback, &amp;pFthRxRachBuffer[i][0]);</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;                }</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;            }</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;        <a class="code" href="xran__common_8h.html#ad1ada9c5c57979c50f1a17a9050b8f3a">xran_register_cb_mbuf2ring</a>(send_cp, send_up);</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;        <a class="code" href="xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70">xran_open</a>(m_xranhandle, &amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>);</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    }</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4">  984</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4">Close</a>()</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    {</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;        <span class="keywordflow">if</span>(m_xranhandle)</div><div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;            <a class="code" href="xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b">xran_close</a>(m_xranhandle);</div><div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;    }</div><div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;</div><div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc">  990</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc">Start</a>()</div><div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;    {</div><div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;        <span class="keywordflow">if</span>(m_xranhandle)</div><div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;            <span class="keywordflow">return</span>(<a class="code" href="xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1">xran_start</a>(m_xranhandle));</div><div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    }</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;</div><div class="line"><a name="l00998"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280">  998</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280">Stop</a>()</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;    {</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;        <span class="keywordflow">if</span>(m_xranhandle)</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;            <span class="keywordflow">return</span>(<a class="code" href="xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3">xran_stop</a>(m_xranhandle));</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;    }</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    <span class="comment">/* emulation of timer */</span></div><div class="line"><a name="l01007"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a3783fbb2a26b8a0530c489850a905a38"> 1007</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a3783fbb2a26b8a0530c489850a905a38">update_tti</a>()</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;    {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a9c3700d61ba446fa9b05cca2ca9018ab">tti_ota_cb</a>(<span class="keyword">nullptr</span>, <a class="code" href="classxran_lib_wraper.html#a1ffad42e0cccdbc800d3dbef66f52d45">get_timer_ctx</a>());</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    }</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;</div><div class="line"><a name="l01012"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ac4ce5a18c687ee515676e035359a1e89"> 1012</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#ac4ce5a18c687ee515676e035359a1e89">update_symbol_index</a>()</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    {</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04">xran_lib_ota_sym_idx</a>++;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;        <span class="keywordflow">if</span>((<a class="code" href="xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04">xran_lib_ota_sym_idx</a> % <a class="code" href="common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b">N_SYM_PER_SLOT</a>) == 0) {</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a3783fbb2a26b8a0530c489850a905a38">update_tti</a>();</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;            }</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;        <a class="code" href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a>++;</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a> &gt;= N_SYM_PER_SLOT)</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;            <a class="code" href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a> = 0;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    }</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div><div class="line"><a name="l01024"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a165ca95dea40ce1abcc161f39087d38d"> 1024</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a165ca95dea40ce1abcc161f39087d38d">apply_cpenable</a>(<span class="keywordtype">bool</span> flag)</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;    {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;        <span class="keyword">struct </span><a class="code" href="structxran__device__ctx.html">xran_device_ctx</a> *pCtx = <a class="code" href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21">xran_dev_get_ctx</a>();</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0">is_running</a>())</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;        <span class="keywordflow">if</span>(pCtx == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;        <span class="keywordflow">if</span>(flag == <span class="keyword">true</span>) {</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38">enableCP</a> = 1;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;            pCtx-&gt;<a class="code" href="structxran__device__ctx.html#a1acdb894b98fd0ddf9e5542b50acfc50">enableCP</a> = 1;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;            }</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;            <a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38">enableCP</a> = 0;</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;            pCtx-&gt;<a class="code" href="structxran__device__ctx.html#a1acdb894b98fd0ddf9e5542b50acfc50">enableCP</a> = 0;</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;            }</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        <span class="keywordflow">return</span> (0);</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;    }</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div><div class="line"><a name="l01047"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a970616fd84b2f27327a77e202d31eeef"> 1047</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a970616fd84b2f27327a77e202d31eeef">get_slot_config</a>(<span class="keyword">const</span> std::string &amp;cfgname, <span class="keyword">struct</span> <a class="code" href="structxran__frame__config.html">xran_frame_config</a> *pCfg)</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;        <span class="keywordtype">int</span> numcfg, i, j;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;        std::vector&lt;int&gt; slotcfg;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;        numcfg = get_globalcfg&lt;int&gt;(cfgname, <span class="stringliteral">&quot;period&quot;</span>);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;        pCfg-&gt;<a class="code" href="structxran__frame__config.html#a53a1d989c6dee827495401b1973c9ef8">nTddPeriod</a> = numcfg;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        <span class="keywordflow">for</span>(i=0; i &lt; numcfg; i++) {</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;            std::stringstream slotcfgname;</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;            slotcfgname &lt;&lt; <span class="stringliteral">&quot;slot&quot;</span> &lt;&lt; i;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;            std::vector&lt;int&gt; slotcfg = get_globalcfg_array&lt;int&gt;(cfgname, slotcfgname.str());</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;            <span class="keywordflow">for</span>(j=0; j &lt; slotcfg.size(); j++)</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;                pCfg-&gt;<a class="code" href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">sSlotConfig</a>[i].<a class="code" href="structxran__slot__config.html#a37a7dc4b204c22c2d8b9da9b07abd154">nSymbolType</a>[j] = slotcfg[j];</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;            pCfg-&gt;<a class="code" href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">sSlotConfig</a>[i].<a class="code" href="structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28">reserved</a>[0] = 0; pCfg-&gt;<a class="code" href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">sSlotConfig</a>[i].<a class="code" href="structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28">reserved</a>[1] = 0;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;            }</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;        <span class="keywordflow">return</span> (numcfg);</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    }</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div><div class="line"><a name="l01068"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d"> 1068</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d">get_num_rbs</a>(uint32_t nNumerology, uint32_t nBandwidth, <span class="keywordtype">bool</span> nSub6)</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;    {</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;        <span class="keywordflow">if</span>(nNumerology &gt; 3)</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;            <span class="keywordflow">return</span> (-1);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;        <span class="keywordflow">if</span>(nSub6) {</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;            <span class="keywordflow">if</span> (nNumerology &lt; 3) {</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;                <span class="comment">/* F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB */</span></div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;                <span class="keywordflow">switch</span>(nBandwidth) {</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716">PHY_BW_5MHZ</a>:   <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][0]);</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a">PHY_BW_10MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][1]);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4">PHY_BW_15MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][2]);</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8">PHY_BW_20MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][3]);</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2">PHY_BW_25MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][4]);</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4">PHY_BW_30MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][5]);</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109">PHY_BW_40MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][6]);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1">PHY_BW_50MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][7]);</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33">PHY_BW_60MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][8]);</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19">PHY_BW_70MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][9]);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6">PHY_BW_80MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][10]);</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f">PHY_BW_90MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][11]);</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb">PHY_BW_100MHZ</a>: <span class="keywordflow">return</span>(nNumRbsPerSymF1[nNumerology][12]);</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;                }</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;            }</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;        }</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;        <span class="keywordflow">else</span> { <span class="comment">/* if(nSub6) */</span></div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;            <span class="keywordflow">if</span>((nNumerology &gt;= 2) &amp;&amp; (nNumerology &lt;= 3)) {</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;                nNumerology -= 2;</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;                <span class="comment">/* F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB */</span></div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;                <span class="keywordflow">switch</span>(nBandwidth) {</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1">PHY_BW_50MHZ</a>:  <span class="keywordflow">return</span>(nNumRbsPerSymF2[nNumerology][0]); <span class="keywordflow">break</span>;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb">PHY_BW_100MHZ</a>: <span class="keywordflow">return</span>(nNumRbsPerSymF2[nNumerology][1]); <span class="keywordflow">break</span>;</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0">PHY_BW_200MHZ</a>: <span class="keywordflow">return</span>(nNumRbsPerSymF2[nNumerology][2]); <span class="keywordflow">break</span>;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924">PHY_BW_400MHZ</a>: <span class="keywordflow">return</span>(nNumRbsPerSymF2[nNumerology][3]); <span class="keywordflow">break</span>;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;                }</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;            }</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;        }</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;        <span class="keywordflow">return</span>(-1);</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;    }</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;</div><div class="line"><a name="l01109"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1"> 1109</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1">get_xranhandle</a>()  { <span class="keywordflow">return</span>(m_xranhandle); }</div><div class="line"><a name="l01110"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a1ffad42e0cccdbc800d3dbef66f52d45"> 1110</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="classxran_lib_wraper.html#a1ffad42e0cccdbc800d3dbef66f52d45">get_timer_ctx</a>()   { <span class="keywordflow">return</span>((<span class="keywordtype">void</span> *)&amp;<a class="code" href="classxran_lib_wraper.html#a74cbf8f188c4df27d645f80be26bb077">m_timer_ctx</a>[0]); }</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ab795436cc8b07e2b0d665502274b30e6"> 1112</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#ab795436cc8b07e2b0d665502274b30e6">get_symbol_index</a>()  { <span class="keywordflow">return</span> (<a class="code" href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a>); }</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;</div><div class="line"><a name="l01114"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0"> 1114</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0">is_running</a>()       { <span class="keywordflow">return</span>((<a class="code" href="xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b">xran_get_if_state</a>() == <a class="code" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e">XRAN_RUNNING</a>)?<span class="keyword">true</span>:<span class="keyword">false</span>); }</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;</div><div class="line"><a name="l01116"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2"> 1116</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a> <a class="code" href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">get_rucategory</a>()    { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>.<a class="code" href="structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359">xranCat</a>); }</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;</div><div class="line"><a name="l01118"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c"> 1118</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c">get_numerology</a>()    { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">nNumerology</a>); }</div><div class="line"><a name="l01119"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a5548a3a1605dbf7b492d6eb164d3c667"> 1119</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a5548a3a1605dbf7b492d6eb164d3c667">get_duplextype</a>()    { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>.<a class="code" href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">nFrameDuplexType</a>); }</div><div class="line"><a name="l01120"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd"> 1120</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd">get_num_cc</a>()        { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">nCC</a>); }</div><div class="line"><a name="l01121"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070"> 1121</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070">get_num_eaxc</a>()      { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">neAxc</a>); }</div><div class="line"><a name="l01122"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4"> 1122</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4">get_num_dlrbs</a>()     { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a7917929ae3bb588a5bf6f4e56cf9549e">nDLRBs</a>); }</div><div class="line"><a name="l01123"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da"> 1123</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da">get_num_ulrbs</a>()     { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a5448b37ad609bb66bf44b44d1f9bac72">nULRBs</a>); }</div><div class="line"><a name="l01124"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4"> 1124</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4">get_num_antelmtrx</a>() { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#ac63d8c67956a8a08cbfd8efb92a2f055">nAntElmTRx</a>); }</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;</div><div class="line"><a name="l01126"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a5855fc30031ba49b7375526f7cda0ff7"> 1126</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classxran_lib_wraper.html#a5855fc30031ba49b7375526f7cda0ff7">is_cpenable</a>()      { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38">enableCP</a>); };</div><div class="line"><a name="l01127"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a5b5d9e46f23728cf8901e177fbf1e32b"> 1127</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classxran_lib_wraper.html#a5b5d9e46f23728cf8901e177fbf1e32b">is_prachenable</a>()   { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#ac0646000d1448798a186e109df0bb3dd">prachEnable</a>); };</div><div class="line"><a name="l01128"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a1d92eb426fc3269a180f07289f738d1a"> 1128</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classxran_lib_wraper.html#a1d92eb426fc3269a180f07289f738d1a">is_dynamicsection</a>() { <span class="keywordflow">return</span>(<a class="code" href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">m_xranInit</a>.<a class="code" href="structxran__fh__init.html#a6fcbf469691a192f1ce298f70981c17a">DynamicSectionEna</a>?<span class="keyword">true</span>:<span class="keyword">false</span>); }</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;</div><div class="line"><a name="l01130"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a0395e3b64e7fe193c70ea4e86ce2bddc"> 1130</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a0395e3b64e7fe193c70ea4e86ce2bddc">get_cfg_prach</a>(<span class="keyword">struct</span> <a class="code" href="structxran__prach__config.html">xran_prach_config</a> *pCfg)</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;    {</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;        <span class="keywordflow">if</span>(pCfg)</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;            memcpy(pCfg, &amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">prach_conf</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__prach__config.html">xran_prach_config</a>));</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;    }</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;</div><div class="line"><a name="l01136"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a387cf1bf4b8f48c23d58309a0c1a9e2c"> 1136</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a387cf1bf4b8f48c23d58309a0c1a9e2c">get_cfg_frame</a>(<span class="keyword">struct</span> <a class="code" href="structxran__frame__config.html">xran_frame_config</a> *pCfg)</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;    {</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;        <span class="keywordflow">if</span>(pCfg)</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;            memcpy(pCfg, &amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">frame_conf</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__frame__config.html">xran_frame_config</a>));</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;    }</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div><div class="line"><a name="l01142"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a8789158912b9607cbc6414c92a120003"> 1142</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a8789158912b9607cbc6414c92a120003">get_cfg_ru</a>(<span class="keyword">struct</span> <a class="code" href="structxran__ru__config.html">xran_ru_config</a> *pCfg)</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;    {</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;        <span class="keywordflow">if</span>(pCfg)</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;            memcpy(pCfg, &amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>.<a class="code" href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">ru_conf</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__ru__config.html">xran_ru_config</a>));</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;    }</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;</div><div class="line"><a name="l01148"></a><span class="lineno"><a class="line" href="classxran_lib_wraper.html#a7d671b9b851d9b0fbae6777e85643c3b"> 1148</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classxran_lib_wraper.html#a7d671b9b851d9b0fbae6777e85643c3b">get_cfg_fh</a>(<span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a> *pCfg)</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;    {</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;        <span class="keywordflow">if</span>(pCfg)</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;            memcpy(pCfg, &amp;<a class="code" href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">m_xranConf</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structxran__fh__config.html">xran_fh_config</a>));</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    }</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;};</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;<span class="comment">/* external declaration for the instance */</span></div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;<span class="keyword">extern</span> <a class="code" href="classxran_lib_wraper.html">xranLibWraper</a> *<a class="code" href="xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3">xranlib</a>;</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;<span class="preprocessor">#endif //XRAN_LIB_WRAP_HPP</span></div><div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339">XRAN_BBDEV_NOT_USED</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00280">xran_fh_o_du.h:280</a></div></div>
71 <div class="ttc" id="structxran__fh__init_html_a8ad55119f3b227785857aaddef6a8384"><div class="ttname"><a href="structxran__fh__init.html#a8ad55119f3b227785857aaddef6a8384">xran_fh_init::debugStop</a></div><div class="ttdeci">int32_t debugStop</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00361">xran_fh_o_du.h:361</a></div></div>
72 <div class="ttc" id="sample-app_8c_html_a874ba95e7c465e83ccc26ab623eec60c"><div class="ttname"><a href="sample-app_8c.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="sample-app_8c_source.html#l00367">sample-app.c:367</a></div></div>
73 <div class="ttc" id="classxran_lib_wraper_html_a1ffad42e0cccdbc800d3dbef66f52d45"><div class="ttname"><a href="classxran_lib_wraper.html#a1ffad42e0cccdbc800d3dbef66f52d45">xranLibWraper::get_timer_ctx</a></div><div class="ttdeci">void * get_timer_ctx()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01110">xran_lib_wrap.hpp:1110</a></div></div>
74 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0">xranLibWraper::PHY_BW_200MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00087">xran_lib_wrap.hpp:87</a></div></div>
75 <div class="ttc" id="xran__fh__o__du_8h_html_aa099ceebb1479cddef1ee64f5c311973"><div class="ttname"><a href="xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973">XRAN_MAX_SECTIONS_PER_SYM</a></div><div class="ttdeci">#define XRAN_MAX_SECTIONS_PER_SYM</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00130">xran_fh_o_du.h:130</a></div></div>
76 <div class="ttc" id="xran__lib__wrap_8hpp_html_ad5b1e2ec82b937000bd1fe89acb5384c"><div class="ttname"><a href="xran__lib__wrap_8hpp.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="xran__lib__wrap_8hpp_source.html#l00051">xran_lib_wrap.hpp:51</a></div></div>
77 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f">XRAN_CATEGORY_A</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00264">xran_fh_o_du.h:264</a></div></div>
78 <div class="ttc" id="structxran__fh__init_html_ab0bb0b684cc2798a2ef1ceabe4a47e38"><div class="ttname"><a href="structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38">xran_fh_init::enableCP</a></div><div class="ttdeci">uint8_t enableCP</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00356">xran_fh_o_du.h:356</a></div></div>
79 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749">XRAN_CATEGORY_B</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00265">xran_fh_o_du.h:265</a></div></div>
80 <div class="ttc" id="classxran_lib_wraper_html_ad84b20c11b0095b35674f3eb1c247375"><div class="ttname"><a href="classxran_lib_wraper.html#ad84b20c11b0095b35674f3eb1c247375">xranLibWraper::m_sFHPrachRxBuffers</a></div><div class="ttdeci">struct xran_flat_buffer m_sFHPrachRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00139">xran_lib_wrap.hpp:139</a></div></div>
81 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716">xranLibWraper::PHY_BW_5MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00083">xran_lib_wrap.hpp:83</a></div></div>
82 <div class="ttc" id="xran__common_8h_html_ad1ada9c5c57979c50f1a17a9050b8f3a"><div class="ttname"><a href="xran__common_8h.html#ad1ada9c5c57979c50f1a17a9050b8f3a">xran_register_cb_mbuf2ring</a></div><div class="ttdeci">int xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02918">xran_main.c:2918</a></div></div>
83 <div class="ttc" id="xran__fh__o__du_8h_html_a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a"><div class="ttname"><a href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a">XRAN_CP_VF</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00257">xran_fh_o_du.h:257</a></div></div>
84 <div class="ttc" id="classxran_lib_wraper_html_a5914f36a470616ef17f5b663a8d21b30"><div class="ttname"><a href="classxran_lib_wraper.html#a5914f36a470616ef17f5b663a8d21b30">xranLibWraper::m_ru_mac</a></div><div class="ttdeci">uint8_t m_ru_mac[6]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00116">xran_lib_wrap.hpp:116</a></div></div>
85 <div class="ttc" id="classxran_lib_wraper_html_a21b3d390c6eee5d15152cdc5459ff523"><div class="ttname"><a href="classxran_lib_wraper.html#a21b3d390c6eee5d15152cdc5459ff523">xranLibWraper::m_nSW_ToFpga_FTH_TxBufferLen</a></div><div class="ttdeci">uint32_t m_nSW_ToFpga_FTH_TxBufferLen</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00144">xran_lib_wrap.hpp:144</a></div></div>
86 <div class="ttc" id="classxran_lib_wraper_html_adde1d671cf6532a577f13d85875ee3b4"><div class="ttname"><a href="classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4">xranLibWraper::get_num_antelmtrx</a></div><div class="ttdeci">int get_num_antelmtrx()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01124">xran_lib_wrap.hpp:1124</a></div></div>
87 <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>
88 <div class="ttc" id="structxran__io__cfg_html_aa442a227739dcff5212e5356dee54b68"><div class="ttname"><a href="structxran__io__cfg.html#aa442a227739dcff5212e5356dee54b68">xran_io_cfg::timing_core</a></div><div class="ttdeci">int32_t timing_core</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00303">xran_fh_o_du.h:303</a></div></div>
89 <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>
90 <div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39">XRAN_BBDEV_MODE_HW_ON</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00282">xran_fh_o_du.h:282</a></div></div>
91 <div class="ttc" id="structxran__prb__map_html_a16b7b2d1f57da5ed39e7e3a026592a85"><div class="ttname"><a href="structxran__prb__map.html#a16b7b2d1f57da5ed39e7e3a026592a85">xran_prb_map::ru_port_id</a></div><div class="ttdeci">uint16_t ru_port_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00419">xran_fh_o_du.h:419</a></div></div>
92 <div class="ttc" id="xran__fh__o__du_8h_html_a814959a7b5ff6cd4474433f62312eee0"><div class="ttname"><a href="xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0">XRAN_STATUS_SUCCESS</a></div><div class="ttdeci">#define XRAN_STATUS_SUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00054">xran_fh_o_du.h:54</a></div></div>
93 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54">xranLibWraper::XRANFTHRX_IN</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00074">xran_lib_wrap.hpp:74</a></div></div>
94 <div class="ttc" id="xran__lib__wrap_8hpp_html_a9c3700d61ba446fa9b05cca2ca9018ab"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a9c3700d61ba446fa9b05cca2ca9018ab">tti_ota_cb</a></div><div class="ttdeci">void tti_ota_cb(struct rte_timer *tim, void *arg)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00632">xran_main.c:632</a></div></div>
95 <div class="ttc" id="structxran__fh__config_html_ac63d8c67956a8a08cbfd8efb92a2f055"><div class="ttname"><a href="structxran__fh__config.html#ac63d8c67956a8a08cbfd8efb92a2f055">xran_fh_config::nAntElmTRx</a></div><div class="ttdeci">uint32_t nAntElmTRx</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00503">xran_fh_o_du.h:503</a></div></div>
96 <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>
97 <div class="ttc" id="classxran_lib_wraper_html_a77bd4ecb90ef07ddc1420242672b1587"><div class="ttname"><a href="classxran_lib_wraper.html#a77bd4ecb90ef07ddc1420242672b1587">xranLibWraper::p_tx_dl_bfw_buffer</a></div><div class="ttdeci">int16_t * p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00153">xran_lib_wrap.hpp:153</a></div></div>
98 <div class="ttc" id="xran__fh__o__du_8h_html_a03f408f45e97aa68ca47c92e4e7d1a70"><div class="ttname"><a href="xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70">xran_open</a></div><div class="ttdeci">int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02756">xran_main.c:2756</a></div></div>
99 <div class="ttc" id="classxran_lib_wraper_html_aad7c467bc9da44318d2e8cf2f4472f17"><div class="ttname"><a href="classxran_lib_wraper.html#aad7c467bc9da44318d2e8cf2f4472f17">xranLibWraper::tx_dl_bfw_buffer_size</a></div><div class="ttdeci">int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00154">xran_lib_wrap.hpp:154</a></div></div>
100 <div class="ttc" id="structxran__prach__config_html_a3b43924c5ef23b0496d1a7adf2752dbf"><div class="ttname"><a href="structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf">xran_prach_config::nPrachFreqOffset</a></div><div class="ttdeci">int32_t nPrachFreqOffset</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00442">xran_fh_o_du.h:442</a></div></div>
101 <div class="ttc" id="structxran__section__desc_html"><div class="ttname"><a href="structxran__section__desc.html">xran_section_desc</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00382">xran_fh_o_du.h:382</a></div></div>
102 <div class="ttc" id="structxran__fh__init_html_a76ae7531da0aa8656d95c194f1e75b0f"><div class="ttname"><a href="structxran__fh__init.html#a76ae7531da0aa8656d95c194f1e75b0f">xran_fh_init::T1a_max_up</a></div><div class="ttdeci">uint16_t T1a_max_up</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00352">xran_fh_o_du.h:352</a></div></div>
103 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b">xranLibWraper::XRANFTHTX_SEC_DESC_OUT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00073">xran_lib_wrap.hpp:73</a></div></div>
104 <div class="ttc" id="classxran_lib_wraper_html_acb7ae6f5547d5e166b643084db28b2fa"><div class="ttname"><a href="classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa">xranLibWraper::m_xranConf</a></div><div class="ttdeci">struct xran_fh_config m_xranConf</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00120">xran_lib_wrap.hpp:120</a></div></div>
105 <div class="ttc" id="structxran__buffer__list_html_a3d723fbd99a0f76d412b2b79931fbc6e"><div class="ttname"><a href="structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e">xran_buffer_list::nNumBuffers</a></div><div class="ttdeci">uint32_t nNumBuffers</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00594">xran_fh_o_du.h:594</a></div></div>
106 <div class="ttc" id="xran__lib__wrap_8hpp_html_a67e68cef19d6e679b04c315c9234a0e3"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3">FPGA_TO_SW_PRACH_RX_BUFFER_LEN</a></div><div class="ttdeci">#define FPGA_TO_SW_PRACH_RX_BUFFER_LEN</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00052">xran_lib_wrap.hpp:52</a></div></div>
107 <div class="ttc" id="structxran__fh__config_html_a7917929ae3bb588a5bf6f4e56cf9549e"><div class="ttname"><a href="structxran__fh__config.html#a7917929ae3bb588a5bf6f4e56cf9549e">xran_fh_config::nDLRBs</a></div><div class="ttdeci">uint16_t nDLRBs</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00506">xran_fh_o_du.h:506</a></div></div>
108 <div class="ttc" id="structxran__io__cfg_html_afc9b03cdc767412993891263da114dc3"><div class="ttname"><a href="structxran__io__cfg.html#afc9b03cdc767412993891263da114dc3">xran_io_cfg::pkt_aux_core</a></div><div class="ttdeci">int32_t pkt_aux_core</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00302">xran_fh_o_du.h:302</a></div></div>
109 <div class="ttc" id="xran__lib__wrap_8hpp_html_a6c189fbbc24f87fad24cff9cbd0e6a42"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a6c189fbbc24f87fad24cff9cbd0e6a42">sym_ota_cb</a></div><div class="ttdeci">void sym_ota_cb(struct rte_timer *tim, void *arg)</div></div>
110 <div class="ttc" id="classxran_lib_wraper_html_a970616fd84b2f27327a77e202d31eeef"><div class="ttname"><a href="classxran_lib_wraper.html#a970616fd84b2f27327a77e202d31eeef">xranLibWraper::get_slot_config</a></div><div class="ttdeci">int get_slot_config(const std::string &amp;cfgname, struct xran_frame_config *pCfg)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01047">xran_lib_wrap.hpp:1047</a></div></div>
111 <div class="ttc" id="xran__fh__o__du_8h_html_a3efe8aba779b0a2f90adc02065579f5f"><div class="ttname"><a href="xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f">xran_init</a></div><div class="ttdeci">int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02319">xran_main.c:2319</a></div></div>
112 <div class="ttc" id="xran__lib__wrap_8hpp_html_ad3747a607e4b273dfae8278854ffc532"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532">XRAN_UT_KEY_GLOBALCFG_IO</a></div><div class="ttdeci">#define XRAN_UT_KEY_GLOBALCFG_IO</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00041">xran_lib_wrap.hpp:41</a></div></div>
113 <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>
114 <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>
115 <div class="ttc" id="common_8cpp_html_ad8c062e9b24e4b3a8408b23a0d8ab428"><div class="ttname"><a href="common_8cpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428">read_json_from_file</a></div><div class="ttdeci">json read_json_from_file(const std::string &amp;filename)</div><div class="ttdoc">Read JSON from the given file. </div><div class="ttdef"><b>Definition:</b> <a href="common_8cpp_source.html#l00106">common.cpp:106</a></div></div>
116 <div class="ttc" id="structxran__eaxcid__config_html_affca087d8bc179073b5ae2f429340898"><div class="ttname"><a href="structxran__eaxcid__config.html#affca087d8bc179073b5ae2f429340898">xran_eaxcid_config::mask_bandSectorId</a></div><div class="ttdeci">uint16_t mask_bandSectorId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00310">xran_fh_o_du.h:310</a></div></div>
117 <div class="ttc" id="classxran_lib_wraper_html_a387cf1bf4b8f48c23d58309a0c1a9e2c"><div class="ttname"><a href="classxran_lib_wraper.html#a387cf1bf4b8f48c23d58309a0c1a9e2c">xranLibWraper::get_cfg_frame</a></div><div class="ttdeci">void get_cfg_frame(struct xran_frame_config *pCfg)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01136">xran_lib_wrap.hpp:1136</a></div></div>
118 <div class="ttc" id="structxran__fh__config_html_a5448b37ad609bb66bf44b44d1f9bac72"><div class="ttname"><a href="structxran__fh__config.html#a5448b37ad609bb66bf44b44d1f9bac72">xran_fh_config::nULRBs</a></div><div class="ttdeci">uint16_t nULRBs</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00507">xran_fh_o_du.h:507</a></div></div>
119 <div class="ttc" id="structxran__io__cfg_html_a1e6927fa1486224044e568f9c370519b"><div class="ttname"><a href="structxran__io__cfg.html#a1e6927fa1486224044e568f9c370519b">xran_io_cfg::id</a></div><div class="ttdeci">uint8_t id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00295">xran_fh_o_du.h:295</a></div></div>
120 <div class="ttc" id="classxran_lib_wraper_html_a9270468afb68051247edd5953b828aca"><div class="ttname"><a href="classxran_lib_wraper.html#a9270468afb68051247edd5953b828aca">xranLibWraper::m_nBufPoolIndex</a></div><div class="ttdeci">uint32_t m_nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00142">xran_lib_wrap.hpp:142</a></div></div>
121 <div class="ttc" id="xran__fh__o__du_8h_html_abf0211a253f5881ebad3910cef98d30e"><div class="ttname"><a href="xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e">xran_category</a></div><div class="ttdeci">xran_category</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00262">xran_fh_o_du.h:262</a></div></div>
122 <div class="ttc" id="structxran__prach__config_html_a26e6c95dfde831c2588d46dde588c751"><div class="ttname"><a href="structxran__prach__config.html#a26e6c95dfde831c2588d46dde588c751">xran_prach_config::nPrachRestrictSet</a></div><div class="ttdeci">uint8_t nPrachRestrictSet</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00439">xran_fh_o_du.h:439</a></div></div>
123 <div class="ttc" id="classxran_lib_wraper_html_ac4ce5a18c687ee515676e035359a1e89"><div class="ttname"><a href="classxran_lib_wraper.html#ac4ce5a18c687ee515676e035359a1e89">xranLibWraper::update_symbol_index</a></div><div class="ttdeci">void update_symbol_index()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01012">xran_lib_wrap.hpp:1012</a></div></div>
124 <div class="ttc" id="structxran_lib_wraper_1_1xran__timer__ctx_html"><div class="ttname"><a href="structxran_lib_wraper_1_1xran__timer__ctx.html">xranLibWraper::xran_timer_ctx</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00123">xran_lib_wrap.hpp:123</a></div></div>
125 <div class="ttc" id="classnlohmann_1_1basic__json_html_a0801762a3fe36fe32dca5f16e515478d"><div class="ttname"><a href="classnlohmann_1_1basic__json.html#a0801762a3fe36fe32dca5f16e515478d">nlohmann::basic_json::size</a></div><div class="ttdeci">size_type size() const noexcept</div><div class="ttdoc">returns the number of elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05040">json.hpp:5040</a></div></div>
126 <div class="ttc" id="structxran__prb__map_html_a5ca9a2b3d2a5c902f8153e3e383049be"><div class="ttname"><a href="structxran__prb__map.html#a5ca9a2b3d2a5c902f8153e3e383049be">xran_prb_map::xran_port</a></div><div class="ttdeci">uint8_t xran_port</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00416">xran_fh_o_du.h:416</a></div></div>
127 <div class="ttc" id="sample-app_8c_html_a52c968a559117b66a05591f958da75c2"><div class="ttname"><a href="sample-app_8c.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="sample-app_8c_source.html#l00359">sample-app.c:359</a></div></div>
128 <div class="ttc" id="classnlohmann_1_1basic__json_html"><div class="ttname"><a href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></div><div class="ttdoc">a class to store JSON values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01016">json.hpp:1016</a></div></div>
129 <div class="ttc" id="classxran_lib_wraper_html_a61da580fc69a74f3ef17956ba5fd88a0"><div class="ttname"><a href="classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0">xranLibWraper::is_running</a></div><div class="ttdeci">bool is_running()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01114">xran_lib_wrap.hpp:1114</a></div></div>
130 <div class="ttc" id="structxran__slot__config_html_a8d7e0415efaf6e08cb6510401f765c28"><div class="ttname"><a href="structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28">xran_slot_config::reserved</a></div><div class="ttdeci">uint8_t reserved[2]</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00455">xran_fh_o_du.h:455</a></div></div>
131 <div class="ttc" id="structxran__prb__elm_html_a5248ad5c1a177b8b9d5ef60f710652bc"><div class="ttname"><a href="structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc">xran_prb_elm::nRBStart</a></div><div class="ttdeci">int16_t nRBStart</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00394">xran_fh_o_du.h:394</a></div></div>
132 <div class="ttc" id="classxran_lib_wraper_html_a5d7d51f26d22de978142c336c82b8736"><div class="ttname"><a href="classxran_lib_wraper.html#a5d7d51f26d22de978142c336c82b8736">xranLibWraper::m_sFrontHaulRxPrbMapBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct m_sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00131">xran_lib_wrap.hpp:131</a></div></div>
133 <div class="ttc" id="structxran__io__cfg_html_a53341e81716fce9aeddee73d7228f2bf"><div class="ttname"><a href="structxran__io__cfg.html#a53341e81716fce9aeddee73d7228f2bf">xran_io_cfg::core</a></div><div class="ttdeci">int32_t core</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00299">xran_fh_o_du.h:299</a></div></div>
134 <div class="ttc" id="structxran__fh__init_html_a0ce1293a9896f3e28d960a0b1d9dc911"><div class="ttname"><a href="structxran__fh__init.html#a0ce1293a9896f3e28d960a0b1d9dc911">xran_fh_init::debugStopCount</a></div><div class="ttdeci">int32_t debugStopCount</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00362">xran_fh_o_du.h:362</a></div></div>
135 <div class="ttc" id="structxran__prb__elm_html_aba198438bbacf8f73b6bfa481b365ce5"><div class="ttname"><a href="structxran__prb__elm.html#aba198438bbacf8f73b6bfa481b365ce5">xran_prb_elm::nBeamIndex</a></div><div class="ttdeci">int16_t nBeamIndex</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00398">xran_fh_o_du.h:398</a></div></div>
136 <div class="ttc" id="structxran__fh__init_html_ac0646000d1448798a186e109df0bb3dd"><div class="ttname"><a href="structxran__fh__init.html#ac0646000d1448798a186e109df0bb3dd">xran_fh_init::prachEnable</a></div><div class="ttdeci">uint8_t prachEnable</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00357">xran_fh_o_du.h:357</a></div></div>
137 <div class="ttc" id="structxran__ru__config_html_a74e72997edeea7f9f1696baffb9989b4"><div class="ttname"><a href="structxran__ru__config.html#a74e72997edeea7f9f1696baffb9989b4">xran_ru_config::byteOrder</a></div><div class="ttdeci">enum xran_input_byte_order byteOrder</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00489">xran_fh_o_du.h:489</a></div></div>
138 <div class="ttc" id="sample-app_8c_html_ac1813c55eefb1dca0fd1af4c7a173c4a"><div class="ttname"><a href="sample-app_8c.html#ac1813c55eefb1dca0fd1af4c7a173c4a">pXranConf</a></div><div class="ttdeci">struct xran_fh_config * pXranConf</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00079">sample-app.c:79</a></div></div>
139 <div class="ttc" id="structxran__fh__init_html_af01fc39016255fbbedd02b31bb9c7959"><div class="ttname"><a href="structxran__fh__init.html#af01fc39016255fbbedd02b31bb9c7959">xran_fh_init::totalBfWeights</a></div><div class="ttdeci">uint16_t totalBfWeights</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00336">xran_fh_o_du.h:336</a></div></div>
140 <div class="ttc" id="structxran__prb__map_html_a5a2ad8f5285dd33572e310069cdac3c4"><div class="ttname"><a href="structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4">xran_prb_map::nPrbElm</a></div><div class="ttdeci">uint32_t nPrbElm</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00422">xran_fh_o_du.h:422</a></div></div>
141 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html_a09ab9a2f4541256129428a4ccabc6803"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803">BbuIoBufCtrlStruct::nSegTransferred</a></div><div class="ttdeci">int32_t nSegTransferred</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00127">sample-app.c:127</a></div></div>
142 <div class="ttc" id="classxran_lib_wraper_html"><div class="ttname"><a href="classxran_lib_wraper.html">xranLibWraper</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00066">xran_lib_wrap.hpp:66</a></div></div>
143 <div class="ttc" id="classxran_lib_wraper_html_ad99e9ea539081aeef2978a3f472baf1c"><div class="ttname"><a href="classxran_lib_wraper.html#ad99e9ea539081aeef2978a3f472baf1c">xranLibWraper::m_sFrontHaulRxBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct m_sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00130">xran_lib_wrap.hpp:130</a></div></div>
144 <div class="ttc" id="structxran__prb__elm_html_a18adf7163dacc5bd7dd344fb1216f729"><div class="ttname"><a href="structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729">xran_prb_elm::nRBSize</a></div><div class="ttdeci">int16_t nRBSize</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00395">xran_fh_o_du.h:395</a></div></div>
145 <div class="ttc" id="structxran__eaxcid__config_html_aa6294a3b04f47cabf866ec1e1ec4bd23"><div class="ttname"><a href="structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23">xran_eaxcid_config::bit_ruPortId</a></div><div class="ttdeci">uint8_t bit_ruPortId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00317">xran_fh_o_du.h:317</a></div></div>
146 <div class="ttc" id="classxran_lib_wraper_html_a126b53d8cc57521b34496dbe3a26621f"><div class="ttname"><a href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f">xranLibWraper::SetUp</a></div><div class="ttdeci">int SetUp()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00678">xran_lib_wrap.hpp:678</a></div></div>
147 <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>
148 <div class="ttc" id="structxran_lib_wraper_1_1xran__timer__ctx_html_ac9a8f4c80840a80e1a27ff9776e13f66"><div class="ttname"><a href="structxran_lib_wraper_1_1xran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66">xranLibWraper::xran_timer_ctx::tti_to_process</a></div><div class="ttdeci">uint32_t tti_to_process</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00124">xran_lib_wrap.hpp:124</a></div></div>
149 <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>
150 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19">xranLibWraper::PHY_BW_70MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00086">xran_lib_wrap.hpp:86</a></div></div>
151 <div class="ttc" id="structxran__fh__init_html_acfa0c4237b95b1dc83d19e00d6487ec0"><div class="ttname"><a href="structxran__fh__init.html#acfa0c4237b95b1dc83d19e00d6487ec0">xran_fh_init::T2a_min_cp_ul</a></div><div class="ttdeci">uint16_t T2a_min_cp_ul</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00341">xran_fh_o_du.h:341</a></div></div>
152 <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>
153 <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>
154 <div class="ttc" id="classxran_lib_wraper_html_a2fca7a2340a727f72d85407c5e153ed4"><div class="ttname"><a href="classxran_lib_wraper.html#a2fca7a2340a727f72d85407c5e153ed4">xranLibWraper::tx_ul_bfw_buffer_size</a></div><div class="ttdeci">int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00159">xran_lib_wrap.hpp:159</a></div></div>
155 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109">xranLibWraper::PHY_BW_40MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00085">xran_lib_wrap.hpp:85</a></div></div>
156 <div class="ttc" id="classxran_lib_wraper_html_ad1ab6e8c4efe2805b76180b34ce4c019"><div class="ttname"><a href="classxran_lib_wraper.html#ad1ab6e8c4efe2805b76180b34ce4c019">xranLibWraper::iq_bfw_buffer_size_dl</a></div><div class="ttdeci">int iq_bfw_buffer_size_dl</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00149">xran_lib_wrap.hpp:149</a></div></div>
157 <div class="ttc" id="group__xran__common__pkt_html_gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f"><div class="ttname"><a href="group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f">XRAN_DIR_DL</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00149">xran_pkt.h:149</a></div></div>
158 <div class="ttc" id="xran__lib__wrap_8hpp_html_a98f3e1fb2c2dd1381aac8d01b293486a"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a">XRAN_UT_KEY_GLOBALCFG_RU</a></div><div class="ttdeci">#define XRAN_UT_KEY_GLOBALCFG_RU</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00044">xran_lib_wrap.hpp:44</a></div></div>
159 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46">xranLibWraper::SWXRANInterfaceTypeEnum</a></div><div class="ttdeci">SWXRANInterfaceTypeEnum</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00069">xran_lib_wrap.hpp:69</a></div></div>
160 <div class="ttc" id="structxran__prb__map_html_a7fd0cb6d38d73460d3eaba911462dc69"><div class="ttname"><a href="structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69">xran_prb_map::cc_id</a></div><div class="ttdeci">uint16_t cc_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00418">xran_fh_o_du.h:418</a></div></div>
161 <div class="ttc" id="structxran__fh__init_html_a3a10011d5a15ba88d65b9e027cdff35e"><div class="ttname"><a href="structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e">xran_fh_init::eAxCId_conf</a></div><div class="ttdeci">struct xran_eaxcid_config eAxCId_conf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00325">xran_fh_o_du.h:325</a></div></div>
162 <div class="ttc" id="xran__fh__o__du_8h_html_ad4852c0827600db95f9841e2f5f9f6f1"><div class="ttname"><a href="xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1">xran_start</a></div><div class="ttdeci">int32_t xran_start(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02841">xran_main.c:2841</a></div></div>
163 <div class="ttc" id="classxran_lib_wraper_html_a4ec48d0ffb9f1f4310057061754541af"><div class="ttname"><a href="classxran_lib_wraper.html#a4ec48d0ffb9f1f4310057061754541af">xranLibWraper::m_sFrontHaulTxBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct m_sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00128">xran_lib_wrap.hpp:128</a></div></div>
164 <div class="ttc" id="structxran__eaxcid__config_html_a292acf2be52d7b22753f8f3a9839f455"><div class="ttname"><a href="structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455">xran_eaxcid_config::bit_ccId</a></div><div class="ttdeci">uint8_t bit_ccId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00316">xran_fh_o_du.h:316</a></div></div>
165 <div class="ttc" id="structxran__prach__config_html_a5c648c99c04370a4e8767f919a2289bf"><div class="ttname"><a href="structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf">xran_prach_config::nPrachFreqStart</a></div><div class="ttdeci">uint16_t nPrachFreqStart</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00441">xran_fh_o_du.h:441</a></div></div>
166 <div class="ttc" id="structxran__fh__init_html_ac2e5d027408848a38879331bf54d5adf"><div class="ttname"><a href="structxran__fh__init.html#ac2e5d027408848a38879331bf54d5adf">xran_fh_init::Ta3_min</a></div><div class="ttdeci">uint16_t Ta3_min</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00345">xran_fh_o_du.h:345</a></div></div>
167 <div class="ttc" id="xran__fh__o__du_8h_html_a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0"><div class="ttname"><a href="xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0">XRAN_BBDEV_MODE_HW_OFF</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00281">xran_fh_o_du.h:281</a></div></div>
168 <div class="ttc" id="structxran__fh__init_html_a05dca46f0128cb233e7d4f73215cc4a9"><div class="ttname"><a href="structxran__fh__init.html#a05dca46f0128cb233e7d4f73215cc4a9">xran_fh_init::Tadv_cp_dl</a></div><div class="ttdeci">uint16_t Tadv_cp_dl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00338">xran_fh_o_du.h:338</a></div></div>
169 <div class="ttc" id="classxran_lib_wraper_html_a6608686375e6c9e5c3ce59970e4b90e0"><div class="ttname"><a href="classxran_lib_wraper.html#a6608686375e6c9e5c3ce59970e4b90e0">xranLibWraper::~xranLibWraper</a></div><div class="ttdeci">~xranLibWraper()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00674">xran_lib_wrap.hpp:674</a></div></div>
170 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5">xranLibWraper::nChBw</a></div><div class="ttdeci">nChBw</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00081">xran_lib_wrap.hpp:81</a></div></div>
171 <div class="ttc" id="structxran__prb__map_html"><div class="ttname"><a href="structxran__prb__map.html">xran_prb_map</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00414">xran_fh_o_du.h:414</a></div></div>
172 <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>
173 <div class="ttc" id="xran__lib__wrap_8hpp_html_a7c71ebeaaa34df8b1f1e2f33c6d7a54e"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e">XRAN_UT_KEY_GLOBALCFG</a></div><div class="ttdeci">#define XRAN_UT_KEY_GLOBALCFG</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00040">xran_lib_wrap.hpp:40</a></div></div>
174 <div class="ttc" id="structxran__fh__init_html_ab05fc2b0bda23212626e2f075ce8e817"><div class="ttname"><a href="structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817">xran_fh_init::p_o_ru_addr</a></div><div class="ttdeci">int8_t * p_o_ru_addr</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00334">xran_fh_o_du.h:334</a></div></div>
175 <div class="ttc" id="classxran_lib_wraper_html_a8789158912b9607cbc6414c92a120003"><div class="ttname"><a href="classxran_lib_wraper.html#a8789158912b9607cbc6414c92a120003">xranLibWraper::get_cfg_ru</a></div><div class="ttdeci">void get_cfg_ru(struct xran_ru_config *pCfg)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01142">xran_lib_wrap.hpp:1142</a></div></div>
176 <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>
177 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a">xranLibWraper::PHY_BW_10MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00083">xran_lib_wrap.hpp:83</a></div></div>
178 <div class="ttc" id="classxran_lib_wraper_html_a5b5d9e46f23728cf8901e177fbf1e32b"><div class="ttname"><a href="classxran_lib_wraper.html#a5b5d9e46f23728cf8901e177fbf1e32b">xranLibWraper::is_prachenable</a></div><div class="ttdeci">bool is_prachenable()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01127">xran_lib_wrap.hpp:1127</a></div></div>
179 <div class="ttc" id="structxran__frame__config_html_a3b86317723a592e240c0047e53a6326d"><div class="ttname"><a href="structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d">xran_frame_config::nFrameDuplexType</a></div><div class="ttdeci">uint8_t nFrameDuplexType</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00460">xran_fh_o_du.h:460</a></div></div>
180 <div class="ttc" id="xran__fh__o__du_8h_html_a937105f52446cfcb951e43e1dc3c4d8b"><div class="ttname"><a href="xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b">xran_get_if_state</a></div><div class="ttdeci">enum xran_if_state xran_get_if_state(void)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00238">xran_main.c:238</a></div></div>
181 <div class="ttc" id="structxran__io__cfg_html_a727bdc89e33bfc7d18dfaf166d46598a"><div class="ttname"><a href="structxran__io__cfg.html#a727bdc89e33bfc7d18dfaf166d46598a">xran_io_cfg::system_core</a></div><div class="ttdeci">int32_t system_core</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00300">xran_fh_o_du.h:300</a></div></div>
182 <div class="ttc" id="structxran__prb__map_html_afc7dda8bf6b9a76f94c88c3610d9c594"><div class="ttname"><a href="structxran__prb__map.html#afc7dda8bf6b9a76f94c88c3610d9c594">xran_prb_map::start_sym_id</a></div><div class="ttdeci">uint8_t start_sym_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00421">xran_fh_o_du.h:421</a></div></div>
183 <div class="ttc" id="structxran__prb__map_html_a689e28eeb2f378d4dc5f915a30f560db"><div class="ttname"><a href="structxran__prb__map.html#a689e28eeb2f378d4dc5f915a30f560db">xran_prb_map::tti_id</a></div><div class="ttdeci">uint16_t tti_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00420">xran_fh_o_du.h:420</a></div></div>
184 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f">xranLibWraper::PHY_BW_90MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00086">xran_lib_wrap.hpp:86</a></div></div>
185 <div class="ttc" id="structxran__fh__init_html_a6a78f61ed42f876c7cfa835be5ed0942"><div class="ttname"><a href="structxran__fh__init.html#a6a78f61ed42f876c7cfa835be5ed0942">xran_fh_init::filePrefix</a></div><div class="ttdeci">char * filePrefix</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00329">xran_fh_o_du.h:329</a></div></div>
186 <div class="ttc" id="structxran__fh__config_html_a8956e982993d4b310e3bffe207f66405"><div class="ttname"><a href="structxran__fh__config.html#a8956e982993d4b310e3bffe207f66405">xran_fh_config::nDLFftSize</a></div><div class="ttdeci">uint16_t nDLFftSize</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00504">xran_fh_o_du.h:504</a></div></div>
187 <div class="ttc" id="classxran_lib_wraper_html_a7d671b9b851d9b0fbae6777e85643c3b"><div class="ttname"><a href="classxran_lib_wraper.html#a7d671b9b851d9b0fbae6777e85643c3b">xranLibWraper::get_cfg_fh</a></div><div class="ttdeci">void get_cfg_fh(struct xran_fh_config *pCfg)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01148">xran_lib_wrap.hpp:1148</a></div></div>
188 <div class="ttc" id="structxran__slot__config_html_a37a7dc4b204c22c2d8b9da9b07abd154"><div class="ttname"><a href="structxran__slot__config.html#a37a7dc4b204c22c2d8b9da9b07abd154">xran_slot_config::nSymbolType</a></div><div class="ttdeci">uint8_t nSymbolType[XRAN_NUM_OF_SYMBOL_PER_SLOT]</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00454">xran_fh_o_du.h:454</a></div></div>
189 <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>
190 <div class="ttc" id="structxran__fh__init_html_a3c8ee4e9dd2a5354e83fb30c95598f30"><div class="ttname"><a href="structxran__fh__init.html#a3c8ee4e9dd2a5354e83fb30c95598f30">xran_fh_init::mtu</a></div><div class="ttdeci">uint32_t mtu</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00331">xran_fh_o_du.h:331</a></div></div>
191 <div class="ttc" id="sample-app_8c_html_aa8882d42d07fbd9750da4db4395b438c"><div class="ttname"><a href="sample-app_8c.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="sample-app_8c_source.html#l00351">sample-app.c:351</a></div></div>
192 <div class="ttc" id="structxran__flat__buffer_html_a4371798a7694f5939136dca8baa93f21"><div class="ttname"><a href="structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21">xran_flat_buffer::nNumberOfElements</a></div><div class="ttdeci">uint32_t nNumberOfElements</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00560">xran_fh_o_du.h:560</a></div></div>
193 <div class="ttc" id="classxran_lib_wraper_html_a790ada9a4b1a467dc29bc4bfa1ec3e20"><div class="ttname"><a href="classxran_lib_wraper.html#a790ada9a4b1a467dc29bc4bfa1ec3e20">xranLibWraper::m_dpdk_dev_up</a></div><div class="ttdeci">std::string m_dpdk_dev_up</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00111">xran_lib_wrap.hpp:111</a></div></div>
194 <div class="ttc" id="structxran__prach__config_html_a45ae197adc4010202a5b71d7b602bc0c"><div class="ttname"><a href="structxran__prach__config.html#a45ae197adc4010202a5b71d7b602bc0c">xran_prach_config::nPrachZeroCorrConf</a></div><div class="ttdeci">uint8_t nPrachZeroCorrConf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00438">xran_fh_o_du.h:438</a></div></div>
195 <div class="ttc" id="xran__lib__wrap_8hpp_html_a8cec0b41a42705e6ab9f49914ca666c2"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a></div><div class="ttdeci">uint32_t xran_lib_ota_sym</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00112">xran_main.c:112</a></div></div>
196 <div class="ttc" id="structxran__frame__config_html"><div class="ttname"><a href="structxran__frame__config.html">xran_frame_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00459">xran_fh_o_du.h:459</a></div></div>
197 <div class="ttc" id="structxran__ru__config_html_ad1b1309ca2645e24fa201f8decae1988"><div class="ttname"><a href="structxran__ru__config.html#ad1b1309ca2645e24fa201f8decae1988">xran_ru_config::iqOrder</a></div><div class="ttdeci">enum xran_input_i_q_order iqOrder</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00490">xran_fh_o_du.h:490</a></div></div>
198 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924">xranLibWraper::PHY_BW_400MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00087">xran_lib_wrap.hpp:87</a></div></div>
199 <div class="ttc" id="xran__fh__o__du_8h_html_a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab"><div class="ttname"><a href="xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab">XRAN_UP_VF</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00256">xran_fh_o_du.h:256</a></div></div>
200 <div class="ttc" id="structxran__fh__init_html_a6080f8ca5894be470378d6f265c1f665"><div class="ttname"><a href="structxran__fh__init.html#a6080f8ca5894be470378d6f265c1f665">xran_fh_init::T1a_max_cp_dl</a></div><div class="ttdeci">uint16_t T1a_max_cp_dl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00348">xran_fh_o_du.h:348</a></div></div>
201 <div class="ttc" id="xran__lib__wrap_8hpp_html_a14c306e04a1b3ecdd13b82ab9ca6c9b5"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5">MAX_ANT_CARRIER_SUPPORTED</a></div><div class="ttdeci">#define MAX_ANT_CARRIER_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00054">xran_lib_wrap.hpp:54</a></div></div>
202 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb">xranLibWraper::PHY_BW_100MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00087">xran_lib_wrap.hpp:87</a></div></div>
203 <div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
204 <div class="ttc" id="xran__lib__wrap_8hpp_html_a7959c3e12f3260a6461fe2610203d1af"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a7959c3e12f3260a6461fe2610203d1af">XRAN_UT_CFG_FILENAME</a></div><div class="ttdeci">#define XRAN_UT_CFG_FILENAME</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00038">xran_lib_wrap.hpp:38</a></div></div>
205 <div class="ttc" id="structxran__fh__init_html_a8a5462b0059073e90d42f8bfa066d566"><div class="ttname"><a href="structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566">xran_fh_init::io_cfg</a></div><div class="ttdeci">struct xran_io_cfg io_cfg</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00324">xran_fh_o_du.h:324</a></div></div>
206 <div class="ttc" id="structxran__eaxcid__config_html_a8812802228fbd32d92c2c8f29963628b"><div class="ttname"><a href="structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b">xran_eaxcid_config::bit_cuPortId</a></div><div class="ttdeci">uint8_t bit_cuPortId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00314">xran_fh_o_du.h:314</a></div></div>
207 <div class="ttc" id="classxran_lib_wraper_html_aa7e4fc7db724dc357f1425ab426c8921"><div class="ttname"><a href="classxran_lib_wraper.html#aa7e4fc7db724dc357f1425ab426c8921">xranLibWraper::m_nSlots</a></div><div class="ttdeci">uint32_t m_nSlots</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00118">xran_lib_wrap.hpp:118</a></div></div>
208 <div class="ttc" id="structxran__prb__map_html_a92abda0bec7c1c978fe96f87aad18067"><div class="ttname"><a href="structxran__prb__map.html#a92abda0bec7c1c978fe96f87aad18067">xran_prb_map::dir</a></div><div class="ttdeci">uint8_t dir</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00415">xran_fh_o_du.h:415</a></div></div>
209 <div class="ttc" id="classxran_lib_wraper_html_ae064c199bd624882f23a786c57aa5afe"><div class="ttname"><a href="classxran_lib_wraper.html#ae064c199bd624882f23a786c57aa5afe">xranLibWraper::m_bSub6</a></div><div class="ttdeci">bool m_bSub6</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00117">xran_lib_wrap.hpp:117</a></div></div>
210 <div class="ttc" id="structxran__prb__elm_html"><div class="ttname"><a href="structxran__prb__elm.html">xran_prb_elm</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00393">xran_fh_o_du.h:393</a></div></div>
211 <div class="ttc" id="structxran__fh__config_html_a583c2f58d0655789ea36e22d605ab9ad"><div class="ttname"><a href="structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad">xran_fh_config::log_level</a></div><div class="ttdeci">uint32_t log_level</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00523">xran_fh_o_du.h:523</a></div></div>
212 <div class="ttc" id="classxran_lib_wraper_html_af53e776036ad72ea2d2e5a2bdbbdc0b2"><div class="ttname"><a href="classxran_lib_wraper.html#af53e776036ad72ea2d2e5a2bdbbdc0b2">xranLibWraper::m_nFpgaToSW_FTH_RxBufferLen</a></div><div class="ttdeci">uint32_t m_nFpgaToSW_FTH_RxBufferLen</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00145">xran_lib_wrap.hpp:145</a></div></div>
213 <div class="ttc" id="structxran__eaxcid__config_html_ab3f5b7b7c113a7fdff4bdf31ff685594"><div class="ttname"><a href="structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594">xran_eaxcid_config::bit_bandSectorId</a></div><div class="ttdeci">uint8_t bit_bandSectorId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00315">xran_fh_o_du.h:315</a></div></div>
214 <div class="ttc" id="structxran__prach__config_html_ab3ca7a740428b7023b7e29197124983b"><div class="ttname"><a href="structxran__prach__config.html#ab3ca7a740428b7023b7e29197124983b">xran_prach_config::nPrachFilterIdx</a></div><div class="ttdeci">uint8_t nPrachFilterIdx</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00443">xran_fh_o_du.h:443</a></div></div>
215 <div class="ttc" id="structxran__flat__buffer_html_a2c3c46f4c4709f349a0cc62bae9ca92d"><div class="ttname"><a href="structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d">xran_flat_buffer::nOffsetInBytes</a></div><div class="ttdeci">uint32_t nOffsetInBytes</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00562">xran_fh_o_du.h:562</a></div></div>
216 <div class="ttc" id="structxran__fh__init_html_a4f3d38bbb69d7dc49515ba2e0002537e"><div class="ttname"><a href="structxran__fh__init.html#a4f3d38bbb69d7dc49515ba2e0002537e">xran_fh_init::dpdkBasebandFecMode</a></div><div class="ttdeci">uint32_t dpdkBasebandFecMode</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00327">xran_fh_o_du.h:327</a></div></div>
217 <div class="ttc" id="structxran__ru__config_html_a1e4a3c43fc7865c6520471fb9ba8501f"><div class="ttname"><a href="structxran__ru__config.html#a1e4a3c43fc7865c6520471fb9ba8501f">xran_ru_config::compMeth</a></div><div class="ttdeci">uint8_t compMeth</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00487">xran_fh_o_du.h:487</a></div></div>
218 <div class="ttc" id="structxran__prach__config_html_a66b19aaa946c36b309a3403b3d576c58"><div class="ttname"><a href="structxran__prach__config.html#a66b19aaa946c36b309a3403b3d576c58">xran_prach_config::nPrachRootSeqIdx</a></div><div class="ttdeci">uint16_t nPrachRootSeqIdx</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00440">xran_fh_o_du.h:440</a></div></div>
219 <div class="ttc" id="xran__fh__o__du_8h_html_afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d"><div class="ttname"><a href="xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d">XRAN_COMPMETHOD_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00204">xran_fh_o_du.h:204</a></div></div>
220 <div class="ttc" id="classxran_lib_wraper_html_a967a0c58430104684cf2f9b1fdb444da"><div class="ttname"><a href="classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da">xranLibWraper::get_num_ulrbs</a></div><div class="ttdeci">int get_num_ulrbs()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01123">xran_lib_wrap.hpp:1123</a></div></div>
221 <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>
222 <div class="ttc" id="classxran_lib_wraper_html_adcc43270fba1599cebe2bc32eca45554"><div class="ttname"><a href="classxran_lib_wraper.html#adcc43270fba1599cebe2bc32eca45554">xranLibWraper::m_xranhandle</a></div><div class="ttdeci">void * m_xranhandle</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00113">xran_lib_wrap.hpp:113</a></div></div>
223 <div class="ttc" id="structxran__fh__init_html_ad8a8a60941ab888de5187345ce5fc92c"><div class="ttname"><a href="structxran__fh__init.html#ad8a8a60941ab888de5187345ce5fc92c">xran_fh_init::Ta4_min</a></div><div class="ttdeci">uint16_t Ta4_min</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00353">xran_fh_o_du.h:353</a></div></div>
224 <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>
225 <div class="ttc" id="structxran__fh__init_html_a934a145ce39320896b81ac25276b24d8"><div class="ttname"><a href="structxran__fh__init.html#a934a145ce39320896b81ac25276b24d8">xran_fh_init::Ta4_max</a></div><div class="ttdeci">uint16_t Ta4_max</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00354">xran_fh_o_du.h:354</a></div></div>
226 <div class="ttc" id="structxran__fh__config_html_a72b0cba491d0dd2703d684cb2c2a14cf"><div class="ttname"><a href="structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf">xran_fh_config::frame_conf</a></div><div class="ttdeci">struct xran_frame_config frame_conf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00517">xran_fh_o_du.h:517</a></div></div>
227 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html_a7dc97933eadb8a8049057209c3303818"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818">BbuIoBufCtrlStruct::nSegToBeGen</a></div><div class="ttdeci">int32_t nSegToBeGen</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00124">sample-app.c:124</a></div></div>
228 <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>
229 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html_af00b094918ddba2073443dcd755141f6"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6">BbuIoBufCtrlStruct::nSegGenerated</a></div><div class="ttdeci">int32_t nSegGenerated</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00125">sample-app.c:125</a></div></div>
230 <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>
231 <div class="ttc" id="xran__fh__o__du_8h_html_a2f8866c9d6536a56e4d8232b8c45808b"><div class="ttname"><a href="xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b">xran_close</a></div><div class="ttdeci">int32_t xran_close(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02863">xran_main.c:2863</a></div></div>
232 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5">xranLibWraper::XRANFTHTX_OUT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00071">xran_lib_wrap.hpp:71</a></div></div>
233 <div class="ttc" id="structxran__fh__init_html_a0447175262da4e12814983c97d73ad21"><div class="ttname"><a href="structxran__fh__init.html#a0447175262da4e12814983c97d73ad21">xran_fh_init::T1a_min_up</a></div><div class="ttdeci">uint16_t T1a_min_up</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00351">xran_fh_o_du.h:351</a></div></div>
234 <div class="ttc" id="classxran_lib_wraper_html_a165ca95dea40ce1abcc161f39087d38d"><div class="ttname"><a href="classxran_lib_wraper.html#a165ca95dea40ce1abcc161f39087d38d">xranLibWraper::apply_cpenable</a></div><div class="ttdeci">int apply_cpenable(bool flag)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01024">xran_lib_wrap.hpp:1024</a></div></div>
235 <div class="ttc" id="structxran__prach__config_html"><div class="ttname"><a href="structxran__prach__config.html">xran_prach_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00429">xran_fh_o_du.h:429</a></div></div>
236 <div class="ttc" id="structxran__fh__init_html_a82517c890db705ee58767fd245193214"><div class="ttname"><a href="structxran__fh__init.html#a82517c890db705ee58767fd245193214">xran_fh_init::Ta3_max</a></div><div class="ttdeci">uint16_t Ta3_max</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00346">xran_fh_o_du.h:346</a></div></div>
237 <div class="ttc" id="structxran__fh__init_html_aebed6420fb04aabce30025eec4583807"><div class="ttname"><a href="structxran__fh__init.html#aebed6420fb04aabce30025eec4583807">xran_fh_init::T2a_min_cp_dl</a></div><div class="ttdeci">uint16_t T2a_min_cp_dl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00339">xran_fh_o_du.h:339</a></div></div>
238 <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>
239 <div class="ttc" id="classxran_lib_wraper_html_a931587596081ef8178c2b128facb0411"><div class="ttname"><a href="classxran_lib_wraper.html#a931587596081ef8178c2b128facb0411">xranLibWraper::TearDown</a></div><div class="ttdeci">void TearDown()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00729">xran_lib_wrap.hpp:729</a></div></div>
240 <div class="ttc" id="classxran_lib_wraper_html_a80a3e8332a69c2beb5df4ad72b4a022c"><div class="ttname"><a href="classxran_lib_wraper.html#a80a3e8332a69c2beb5df4ad72b4a022c">xranLibWraper::m_nInstanceHandle</a></div><div class="ttdeci">void * m_nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00141">xran_lib_wrap.hpp:141</a></div></div>
241 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33">xranLibWraper::PHY_BW_60MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00085">xran_lib_wrap.hpp:85</a></div></div>
242 <div class="ttc" id="structxran__fh__config_html"><div class="ttname"><a href="structxran__fh__config.html">xran_fh_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00497">xran_fh_o_du.h:497</a></div></div>
243 <div class="ttc" id="structxran__flat__buffer_html_addb9297d816b26c680888115de8c9538"><div class="ttname"><a href="structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538">xran_flat_buffer::pCtrl</a></div><div class="ttdeci">void * pCtrl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00570">xran_fh_o_du.h:570</a></div></div>
244 <div class="ttc" id="structxran__fh__init_html_a5df6250657a91c27fa2416154ec5a609"><div class="ttname"><a href="structxran__fh__init.html#a5df6250657a91c27fa2416154ec5a609">xran_fh_init::T2a_max_cp_dl</a></div><div class="ttdeci">uint16_t T2a_max_cp_dl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00340">xran_fh_o_du.h:340</a></div></div>
245 <div class="ttc" id="structxran__fh__init_html_ae5c22bf3cd63e278914bf627dab04ce8"><div class="ttname"><a href="structxran__fh__init.html#ae5c22bf3cd63e278914bf627dab04ce8">xran_fh_init::up_vlan_tag</a></div><div class="ttdeci">uint8_t up_vlan_tag</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00360">xran_fh_o_du.h:360</a></div></div>
246 <div class="ttc" id="structxran__flat__buffer_html_a77f0d5374ee675db57c0b29946ca7744"><div class="ttname"><a href="structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744">xran_flat_buffer::pData</a></div><div class="ttdeci">uint8_t * pData</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00566">xran_fh_o_du.h:566</a></div></div>
247 <div class="ttc" id="structxran__buffer__list_html_afa8c44acddb126e8bb0652d7b4e4395e"><div class="ttname"><a href="structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e">xran_buffer_list::pBuffers</a></div><div class="ttdeci">struct xran_flat_buffer * pBuffers</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00596">xran_fh_o_du.h:596</a></div></div>
248 <div class="ttc" id="classxran_lib_wraper_html_aa77e335f5b2d2cc1d81de7a55f122ded"><div class="ttname"><a href="classxran_lib_wraper.html#aa77e335f5b2d2cc1d81de7a55f122ded">xranLibWraper::nNumRbsPerSymF2</a></div><div class="ttdeci">const uint16_t nNumRbsPerSymF2[2][4]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00100">xran_lib_wrap.hpp:100</a></div></div>
249 <div class="ttc" id="classxran_lib_wraper_html_a74cbf8f188c4df27d645f80be26bb077"><div class="ttname"><a href="classxran_lib_wraper.html#a74cbf8f188c4df27d645f80be26bb077">xranLibWraper::m_timer_ctx</a></div><div class="ttdeci">struct xranLibWraper::xran_timer_ctx m_timer_ctx[MAX_NUM_OF_XRAN_CTX]</div></div>
250 <div class="ttc" id="classxran_lib_wraper_html_a7d7488daf0a2eebb9359f760a60eaf7c"><div class="ttname"><a href="classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c">xranLibWraper::get_numerology</a></div><div class="ttdeci">int get_numerology()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01118">xran_lib_wrap.hpp:1118</a></div></div>
251 <div class="ttc" id="structxran__fh__init_html_aac84937e634fccb665c6de923af50c0f"><div class="ttname"><a href="structxran__fh__init.html#aac84937e634fccb665c6de923af50c0f">xran_fh_init::T2a_min_up</a></div><div class="ttdeci">uint16_t T2a_min_up</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00343">xran_fh_o_du.h:343</a></div></div>
252 <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>
253 <div class="ttc" id="xran__frame__struct_8h_html"><div class="ttname"><a href="xran__frame__struct_8h.html">xran_frame_struct.h</a></div><div class="ttdoc">Header file for function to work with 5G NR frame structure and related routines. ...</div></div>
254 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729">xranLibWraper::XRANFTHRACH_IN</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00077">xran_lib_wrap.hpp:77</a></div></div>
255 <div class="ttc" id="structxran__fh__config_html_a167e91cb91119363bf10c9430b6f082c"><div class="ttname"><a href="structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c">xran_fh_config::prach_conf</a></div><div class="ttdeci">struct xran_prach_config prach_conf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00515">xran_fh_o_du.h:515</a></div></div>
256 <div class="ttc" id="classxran_lib_wraper_html_ad2b06001d76c9a773c242b28fc7c92f4"><div class="ttname"><a href="classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4">xranLibWraper::get_num_dlrbs</a></div><div class="ttdeci">int get_num_dlrbs()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01122">xran_lib_wrap.hpp:1122</a></div></div>
257 <div class="ttc" id="structxran__prb__elm_html_a0cae38b481020301f9e6831c27b5058b"><div class="ttname"><a href="structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b">xran_prb_elm::bf_weight_update</a></div><div class="ttdeci">int16_t bf_weight_update</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00399">xran_fh_o_du.h:399</a></div></div>
258 <div class="ttc" id="gen__test_8m_html_ac6b31045f94257d82fbbcf64a170a093"><div class="ttname"><a href="gen__test_8m.html#ac6b31045f94257d82fbbcf64a170a093">iPrb</a></div><div class="ttdeci">adjust channel per each RB for iPrb</div><div class="ttdef"><b>Definition:</b> <a href="gen__test_8m_source.html#l00201">gen_test.m:201</a></div></div>
259 <div class="ttc" id="classxran_lib_wraper_html_ac6f9b50e19408f0c2efdcf7e5dd204a9"><div class="ttname"><a href="classxran_lib_wraper.html#ac6f9b50e19408f0c2efdcf7e5dd204a9">xranLibWraper::argv</a></div><div class="ttdeci">char argv[25]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00109">xran_lib_wrap.hpp:109</a></div></div>
260 <div class="ttc" id="classxran_lib_wraper_html_a25afbf449e11f9e290e0fdbef77702c2"><div class="ttname"><a href="classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2">xranLibWraper::get_rucategory</a></div><div class="ttdeci">enum xran_category get_rucategory()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01116">xran_lib_wrap.hpp:1116</a></div></div>
261 <div class="ttc" id="structxran__frame__config_html_a78b2fab8e8d6a6424c2712d528fd9a58"><div class="ttname"><a href="structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58">xran_frame_config::nNumerology</a></div><div class="ttdeci">uint8_t nNumerology</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00461">xran_fh_o_du.h:461</a></div></div>
262 <div class="ttc" id="structxran__prb__elm_html_ad73157f14fa98c54fb563244c1327933"><div class="ttname"><a href="structxran__prb__elm.html#ad73157f14fa98c54fb563244c1327933">xran_prb_elm::compMethod</a></div><div class="ttdeci">int16_t compMethod</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00400">xran_fh_o_du.h:400</a></div></div>
263 <div class="ttc" id="classxran_lib_wraper_html_adc7a94af3a9c52fdb09e8733264eee4a"><div class="ttname"><a href="classxran_lib_wraper.html#adc7a94af3a9c52fdb09e8733264eee4a">xranLibWraper::tx_ul_bfw_buffer_position</a></div><div class="ttdeci">int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00160">xran_lib_wrap.hpp:160</a></div></div>
264 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2">xranLibWraper::PHY_BW_25MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00084">xran_lib_wrap.hpp:84</a></div></div>
265 <div class="ttc" id="structxran__ru__config_html_af92ff2dfd2bddd0880d779c04b9fb359"><div class="ttname"><a href="structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359">xran_ru_config::xranCat</a></div><div class="ttdeci">enum xran_category xranCat</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00484">xran_fh_o_du.h:484</a></div></div>
266 <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>
267 <div class="ttc" id="xran__fh__o__du_8h_html_a8f2daee2fe90126f1f7c361b7760a7a3"><div class="ttname"><a href="xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3">xran_stop</a></div><div class="ttdeci">int32_t xran_stop(void *pHandle)</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l02852">xran_main.c:2852</a></div></div>
268 <div class="ttc" id="structxran__frame__config_html_a4664e9a9005020b4a98ada2d256906e2"><div class="ttname"><a href="structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2">xran_frame_config::sSlotConfig</a></div><div class="ttdeci">struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00465">xran_fh_o_du.h:465</a></div></div>
269 <div class="ttc" id="xran__fh__o__du_8h_html_ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8">XRAN_NE_BE_BYTE_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00472">xran_fh_o_du.h:472</a></div></div>
270 <div class="ttc" id="structxran__fh__init_html_a60007ed3e328b06fb7f7ff2b3a37dac5"><div class="ttname"><a href="structxran__fh__init.html#a60007ed3e328b06fb7f7ff2b3a37dac5">xran_fh_init::T2a_max_cp_ul</a></div><div class="ttdeci">uint16_t T2a_max_cp_ul</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00342">xran_fh_o_du.h:342</a></div></div>
271 <div class="ttc" id="structxran__prb__elm_html_a5acab5eec7096fb7732c804f71f02a4d"><div class="ttname"><a href="structxran__prb__elm.html#a5acab5eec7096fb7732c804f71f02a4d">xran_prb_elm::nStartSymb</a></div><div class="ttdeci">int16_t nStartSymb</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00396">xran_fh_o_du.h:396</a></div></div>
272 <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>
273 <div class="ttc" id="xran__lib__wrap_8hpp_html_a16ea7ba6b48522ff69767c3a3d31b776"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a16ea7ba6b48522ff69767c3a3d31b776">MAX_NUM_OF_XRAN_CTX</a></div><div class="ttdeci">#define MAX_NUM_OF_XRAN_CTX</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00047">xran_lib_wrap.hpp:47</a></div></div>
274 <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>
275 <div class="ttc" id="structxran__prb__map_html_a1c85ead6321835264d2451291430a7da"><div class="ttname"><a href="structxran__prb__map.html#a1c85ead6321835264d2451291430a7da">xran_prb_map::band_id</a></div><div class="ttdeci">uint16_t band_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00417">xran_fh_o_du.h:417</a></div></div>
276 <div class="ttc" id="classxran_lib_wraper_html_a4e219881fa053028c692fb10ae2bb5a3"><div class="ttname"><a href="classxran_lib_wraper.html#a4e219881fa053028c692fb10ae2bb5a3">xranLibWraper::m_sFHPrachRxBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct m_sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00132">xran_lib_wrap.hpp:132</a></div></div>
277 <div class="ttc" id="classxran_lib_wraper_html_aef8068804ca7393d92edd9ed22d90070"><div class="ttname"><a href="classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070">xranLibWraper::get_num_eaxc</a></div><div class="ttdeci">int get_num_eaxc()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01121">xran_lib_wrap.hpp:1121</a></div></div>
278 <div class="ttc" id="structxran__fh__config_html_a27ff648f80c139235421b81f957fcb7e"><div class="ttname"><a href="structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e">xran_fh_config::ru_conf</a></div><div class="ttdeci">struct xran_ru_config ru_conf</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00518">xran_fh_o_du.h:518</a></div></div>
279 <div class="ttc" id="classxran_lib_wraper_html_ab58608944b110026e58c96affe100111"><div class="ttname"><a href="classxran_lib_wraper.html#ab58608944b110026e58c96affe100111">xranLibWraper::m_du_mac</a></div><div class="ttdeci">uint8_t m_du_mac[6]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00115">xran_lib_wrap.hpp:115</a></div></div>
280 <div class="ttc" id="xran__fh__o__du_8h_html_ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f">XRAN_BEAM_ID_BASED</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00272">xran_fh_o_du.h:272</a></div></div>
281 <div class="ttc" id="structxran__fh__init_html_adc6cb9229207f58f6c4375305dcb5384"><div class="ttname"><a href="structxran__fh__init.html#adc6cb9229207f58f6c4375305dcb5384">xran_fh_init::cp_vlan_tag</a></div><div class="ttdeci">uint8_t cp_vlan_tag</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00359">xran_fh_o_du.h:359</a></div></div>
282 <div class="ttc" id="structxran__prb__elm_html_a6c405fdd34c38d29b355cd051527ad9b"><div class="ttname"><a href="structxran__prb__elm.html#a6c405fdd34c38d29b355cd051527ad9b">xran_prb_elm::p_sec_desc</a></div><div class="ttdeci">struct xran_section_desc * p_sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00404">xran_fh_o_du.h:404</a></div></div>
283 <div class="ttc" id="structxran__prb__elm_html_a8b8b1bd49f0c7c15063d74dd4ad48cde"><div class="ttname"><a href="structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde">xran_prb_elm::BeamFormingType</a></div><div class="ttdeci">int16_t BeamFormingType</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00402">xran_fh_o_du.h:402</a></div></div>
284 <div class="ttc" id="xran__lib__wrap_8hpp_html_ad8d180966ea390f149dea00f5616b540"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540">XRAN_UT_KEY_GLOBALCFG_EAXCID</a></div><div class="ttdeci">#define XRAN_UT_KEY_GLOBALCFG_EAXCID</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00042">xran_lib_wrap.hpp:42</a></div></div>
285 <div class="ttc" id="sample-app_8c_html_a85ff1667d07b822b2c7f5a91a0c0bc95"><div class="ttname"><a href="sample-app_8c.html#a85ff1667d07b822b2c7f5a91a0c0bc95">xranHandle</a></div><div class="ttdeci">void * xranHandle</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00076">sample-app.c:76</a></div></div>
286 <div class="ttc" id="classxran_lib_wraper_html_aaf96fa2c0147a497910401ba377506db"><div class="ttname"><a href="classxran_lib_wraper.html#aaf96fa2c0147a497910401ba377506db">xranLibWraper::m_sFrontHaulTxBuffers</a></div><div class="ttdeci">struct xran_flat_buffer m_sFrontHaulTxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00135">xran_lib_wrap.hpp:135</a></div></div>
287 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html_a7941f6b35742c3de02e270f7b80c8dda"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html#a7941f6b35742c3de02e270f7b80c8dda">BbuIoBufCtrlStruct::pData</a></div><div class="ttdeci">struct rte_mbuf * pData[N_MAX_BUFFER_SEGMENT]</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00128">sample-app.c:128</a></div></div>
288 <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>
289 <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>
290 <div class="ttc" id="classxran_lib_wraper_html_a5de5e6cb2e5beb2315f16ecc06aa2966"><div class="ttname"><a href="classxran_lib_wraper.html#a5de5e6cb2e5beb2315f16ecc06aa2966">xranLibWraper::m_sFrontHaulTxPrbMapBbuIoBufCtrl</a></div><div class="ttdeci">BbuIoBufCtrlStruct m_sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00129">xran_lib_wrap.hpp:129</a></div></div>
291 <div class="ttc" id="structxran__fh__init_html_a6fcbf469691a192f1ce298f70981c17a"><div class="ttname"><a href="structxran__fh__init.html#a6fcbf469691a192f1ce298f70981c17a">xran_fh_init::DynamicSectionEna</a></div><div class="ttdeci">int32_t DynamicSectionEna</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00363">xran_fh_o_du.h:363</a></div></div>
292 <div class="ttc" id="classxran_lib_wraper_html_af2f499e1b7c34ec4e1c600e00bddc75f"><div class="ttname"><a href="classxran_lib_wraper.html#af2f499e1b7c34ec4e1c600e00bddc75f">xranLibWraper::m_dpdk_bbdev</a></div><div class="ttdeci">std::string m_dpdk_bbdev</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00111">xran_lib_wrap.hpp:111</a></div></div>
293 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8">xranLibWraper::PHY_BW_20MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00084">xran_lib_wrap.hpp:84</a></div></div>
294 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35">xranLibWraper::XRANFTHTX_SEC_DESC_IN</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00076">xran_lib_wrap.hpp:76</a></div></div>
295 <div class="ttc" id="structxran__fh__config_html_abcac68b45b2bcf3b5458817d65b86e45"><div class="ttname"><a href="structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45">xran_fh_config::neAxc</a></div><div class="ttdeci">uint32_t neAxc</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00501">xran_fh_o_du.h:501</a></div></div>
296 <div class="ttc" id="structxran__io__cfg_html_ae58734e2aff608373089778da1aa4efa"><div class="ttname"><a href="structxran__io__cfg.html#ae58734e2aff608373089778da1aa4efa">xran_io_cfg::dpdk_dev</a></div><div class="ttdeci">char * dpdk_dev[XRAN_VF_MAX]</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00296">xran_fh_o_du.h:296</a></div></div>
297 <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>
298 <div class="ttc" id="classxran_lib_wraper_html_a21adf86e6b2a299b94a4eb59b6094863"><div class="ttname"><a href="classxran_lib_wraper.html#a21adf86e6b2a299b94a4eb59b6094863">xranLibWraper::m_sFrontHaulRxPrbMapBuffers</a></div><div class="ttdeci">struct xran_flat_buffer m_sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00138">xran_lib_wrap.hpp:138</a></div></div>
299 <div class="ttc" id="structxran__io__cfg_html_a7ea8f53112b353d5e98cc955437f3706"><div class="ttname"><a href="structxran__io__cfg.html#a7ea8f53112b353d5e98cc955437f3706">xran_io_cfg::pkt_proc_core</a></div><div class="ttdeci">int32_t pkt_proc_core</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00301">xran_fh_o_du.h:301</a></div></div>
300 <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>
301 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1">xranLibWraper::PHY_BW_50MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00085">xran_lib_wrap.hpp:85</a></div></div>
302 <div class="ttc" id="structxran__eaxcid__config_html_a3357253b181bed8132156f87728efc8d"><div class="ttname"><a href="structxran__eaxcid__config.html#a3357253b181bed8132156f87728efc8d">xran_eaxcid_config::mask_cuPortId</a></div><div class="ttdeci">uint16_t mask_cuPortId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00309">xran_fh_o_du.h:309</a></div></div>
303 <div class="ttc" id="classxran_lib_wraper_html_abbe0bfcd68428ee4cc3f63a391495e8d"><div class="ttname"><a href="classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d">xranLibWraper::get_num_rbs</a></div><div class="ttdeci">int get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01068">xran_lib_wrap.hpp:1068</a></div></div>
304 <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>
305 <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>
306 <div class="ttc" id="structxran__ru__config_html"><div class="ttname"><a href="structxran__ru__config.html">xran_ru_config</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00483">xran_fh_o_du.h:483</a></div></div>
307 <div class="ttc" id="structxran__fh__init_html_a73b80929304dcde73f2c2f6d4f7448fa"><div class="ttname"><a href="structxran__fh__init.html#a73b80929304dcde73f2c2f6d4f7448fa">xran_fh_init::T1a_min_cp_dl</a></div><div class="ttdeci">uint16_t T1a_min_cp_dl</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00347">xran_fh_o_du.h:347</a></div></div>
308 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2">xranLibWraper::XRANFTHRX_PRB_MAP_IN</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00075">xran_lib_wrap.hpp:75</a></div></div>
309 <div class="ttc" id="classxran_lib_wraper_html_ab795436cc8b07e2b0d665502274b30e6"><div class="ttname"><a href="classxran_lib_wraper.html#ab795436cc8b07e2b0d665502274b30e6">xranLibWraper::get_symbol_index</a></div><div class="ttdeci">int get_symbol_index()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01112">xran_lib_wrap.hpp:1112</a></div></div>
310 <div class="ttc" id="structxran__frame__config_html_a53a1d989c6dee827495401b1973c9ef8"><div class="ttname"><a href="structxran__frame__config.html#a53a1d989c6dee827495401b1973c9ef8">xran_frame_config::nTddPeriod</a></div><div class="ttdeci">uint8_t nTddPeriod</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00464">xran_fh_o_du.h:464</a></div></div>
311 <div class="ttc" id="xran__lib__wrap_8hpp_html_a98175f360f5753bc99c4edd3c2d8bd04"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04">xran_lib_ota_sym_idx</a></div><div class="ttdeci">uint32_t xran_lib_ota_sym_idx</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00113">xran_main.c:113</a></div></div>
312 <div class="ttc" id="structxran__fh__config_html_ae4908e70f937e7eca578e348f4e3911f"><div class="ttname"><a href="structxran__fh__config.html#ae4908e70f937e7eca578e348f4e3911f">xran_fh_config::nULFftSize</a></div><div class="ttdeci">uint16_t nULFftSize</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00505">xran_fh_o_du.h:505</a></div></div>
313 <div class="ttc" id="struct_bbu_io_buf_ctrl_struct_html_a48c33fa4a8f2f93d51cba58b78d3cd9f"><div class="ttname"><a href="struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f">BbuIoBufCtrlStruct::bValid</a></div><div class="ttdeci">int32_t bValid</div><div class="ttdef"><b>Definition:</b> <a href="sample-app_8c_source.html#l00123">sample-app.c:123</a></div></div>
314 <div class="ttc" id="classxran_lib_wraper_html_a5548a3a1605dbf7b492d6eb164d3c667"><div class="ttname"><a href="classxran_lib_wraper.html#a5548a3a1605dbf7b492d6eb164d3c667">xranLibWraper::get_duplextype</a></div><div class="ttdeci">int get_duplextype()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01119">xran_lib_wrap.hpp:1119</a></div></div>
315 <div class="ttc" id="structxran__fh__init_html_a71254f497cb48a57b123c7f4897b7a38"><div class="ttname"><a href="structxran__fh__init.html#a71254f497cb48a57b123c7f4897b7a38">xran_fh_init::T1a_max_cp_ul</a></div><div class="ttdeci">uint16_t T1a_max_cp_ul</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00350">xran_fh_o_du.h:350</a></div></div>
316 <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>
317 <div class="ttc" id="xran__lib__wrap_8hpp_html_a0c97e7d2cdb34b857e3b6de86b49f55d"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d">XRAN_UT_KEY_GLOBALCFG_PRACH</a></div><div class="ttdeci">#define XRAN_UT_KEY_GLOBALCFG_PRACH</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00043">xran_lib_wrap.hpp:43</a></div></div>
318 <div class="ttc" id="structxran__fh__config_html_a6dcac3ea0b3d99c20c2e6f7091b8b342"><div class="ttname"><a href="structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342">xran_fh_config::nCC</a></div><div class="ttdeci">uint32_t nCC</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00500">xran_fh_o_du.h:500</a></div></div>
319 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6">xranLibWraper::PHY_BW_80MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00086">xran_lib_wrap.hpp:86</a></div></div>
320 <div class="ttc" id="structxran__ru__config_html_a59e7e8f3feb686850b0cb0ae065de85b"><div class="ttname"><a href="structxran__ru__config.html#a59e7e8f3feb686850b0cb0ae065de85b">xran_ru_config::fftSize</a></div><div class="ttdeci">uint8_t fftSize</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00488">xran_fh_o_du.h:488</a></div></div>
321 <div class="ttc" id="structxran__fh__init_html_ab783700ba1f1b7d6d617a102f01e2e8a"><div class="ttname"><a href="structxran__fh__init.html#ab783700ba1f1b7d6d617a102f01e2e8a">xran_fh_init::dpdkBasebandDevice</a></div><div class="ttdeci">char * dpdkBasebandDevice</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00328">xran_fh_o_du.h:328</a></div></div>
322 <div class="ttc" id="classxran_lib_wraper_html_a2e64fc338fcfaac25af91aae564777fa"><div class="ttname"><a href="classxran_lib_wraper.html#a2e64fc338fcfaac25af91aae564777fa">xranLibWraper::xranLibWraper</a></div><div class="ttdeci">xranLibWraper()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00467">xran_lib_wrap.hpp:467</a></div></div>
323 <div class="ttc" id="classxran_lib_wraper_html_a6284df81f3334e6319e99aa3d368acec"><div class="ttname"><a href="classxran_lib_wraper.html#a6284df81f3334e6319e99aa3d368acec">xranLibWraper::m_sFrontHaulRxBuffers</a></div><div class="ttdeci">struct xran_flat_buffer m_sFrontHaulRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00137">xran_lib_wrap.hpp:137</a></div></div>
324 <div class="ttc" id="classxran_lib_wraper_html_a9507c81d07af4f634e04173663fd5419"><div class="ttname"><a href="classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419">xranLibWraper::m_xranInit</a></div><div class="ttdeci">struct xran_fh_init m_xranInit</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00121">xran_lib_wrap.hpp:121</a></div></div>
325 <div class="ttc" id="structxran__fh__init_html_ab2d0817976952478020b3437b3dbbfc3"><div class="ttname"><a href="structxran__fh__init.html#ab2d0817976952478020b3437b3dbbfc3">xran_fh_init::T1a_min_cp_ul</a></div><div class="ttdeci">uint16_t T1a_min_cp_ul</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00349">xran_fh_o_du.h:349</a></div></div>
326 <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>
327 <div class="ttc" id="structxran__fh__init_html_af27977cbf63a8beb2fd6b1f17c1502df"><div class="ttname"><a href="structxran__fh__init.html#af27977cbf63a8beb2fd6b1f17c1502df">xran_fh_init::T2a_max_up</a></div><div class="ttdeci">uint16_t T2a_max_up</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00344">xran_fh_o_du.h:344</a></div></div>
328 <div class="ttc" id="classxran_lib_wraper_html_a95b1981d7d33eb50789dbc55d5d2755f"><div class="ttname"><a href="classxran_lib_wraper.html#a95b1981d7d33eb50789dbc55d5d2755f">xranLibWraper::p_tx_ul_bfw_buffer</a></div><div class="ttdeci">int16_t * p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00158">xran_lib_wrap.hpp:158</a></div></div>
329 <div class="ttc" id="structxran__ru__config_html_a1520b1ef6131bff6c14b88d849c266c5"><div class="ttname"><a href="structxran__ru__config.html#a1520b1ef6131bff6c14b88d849c266c5">xran_ru_config::iqWidth</a></div><div class="ttdeci">uint8_t iqWidth</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00486">xran_fh_o_du.h:486</a></div></div>
330 <div class="ttc" id="xran__fh__o__du_8h_html_ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a">XRAN_BEAM_WEIGHT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00273">xran_fh_o_du.h:273</a></div></div>
331 <div class="ttc" id="structxran__prb__map_html_a2357c89e196d6c8c53e29bf04d168b7e"><div class="ttname"><a href="structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e">xran_prb_map::prbMap</a></div><div class="ttdeci">struct xran_prb_elm prbMap[XRAN_MAX_PRBS]</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00423">xran_fh_o_du.h:423</a></div></div>
332 <div class="ttc" id="classxran_lib_wraper_html_a1d92eb426fc3269a180f07289f738d1a"><div class="ttname"><a href="classxran_lib_wraper.html#a1d92eb426fc3269a180f07289f738d1a">xranLibWraper::is_dynamicsection</a></div><div class="ttdeci">bool is_dynamicsection()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01128">xran_lib_wrap.hpp:1128</a></div></div>
333 <div class="ttc" id="structxran__prach__config_html_acb5fe8097b0115e038eb02d5900f66d6"><div class="ttname"><a href="structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6">xran_prach_config::nPrachConfIdx</a></div><div class="ttdeci">uint8_t nPrachConfIdx</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00432">xran_fh_o_du.h:432</a></div></div>
334 <div class="ttc" id="classxran_lib_wraper_html_a5855fc30031ba49b7375526f7cda0ff7"><div class="ttname"><a href="classxran_lib_wraper.html#a5855fc30031ba49b7375526f7cda0ff7">xranLibWraper::is_cpenable</a></div><div class="ttdeci">bool is_cpenable()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01126">xran_lib_wrap.hpp:1126</a></div></div>
335 <div class="ttc" id="classxran_lib_wraper_html_a95651581b17afb55b04ca83f04261353"><div class="ttname"><a href="classxran_lib_wraper.html#a95651581b17afb55b04ca83f04261353">xranLibWraper::nNumRbsPerSymF1</a></div><div class="ttdeci">const uint16_t nNumRbsPerSymF1[3][13]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00091">xran_lib_wrap.hpp:91</a></div></div>
336 <div class="ttc" id="structxran__eaxcid__config_html_a64cc7d4da64fe531f01c6bb54e6a02f3"><div class="ttname"><a href="structxran__eaxcid__config.html#a64cc7d4da64fe531f01c6bb54e6a02f3">xran_eaxcid_config::mask_ruPortId</a></div><div class="ttdeci">uint16_t mask_ruPortId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00312">xran_fh_o_du.h:312</a></div></div>
337 <div class="ttc" id="classxran_lib_wraper_html_a0395e3b64e7fe193c70ea4e86ce2bddc"><div class="ttname"><a href="classxran_lib_wraper.html#a0395e3b64e7fe193c70ea4e86ce2bddc">xranLibWraper::get_cfg_prach</a></div><div class="ttdeci">void get_cfg_prach(struct xran_prach_config *pCfg)</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01130">xran_lib_wrap.hpp:1130</a></div></div>
338 <div class="ttc" id="group__xran__common__pkt_html_gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05"><div class="ttname"><a href="group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05">XRAN_DIR_UL</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00148">xran_pkt.h:148</a></div></div>
339 <div class="ttc" id="xran__common_8h_html_aedb267cc96c01f38341f460932d4cc5c"><div class="ttname"><a href="xran__common_8h.html#aedb267cc96c01f38341f460932d4cc5c">xran_ethdi_mbuf_send_fn</a></div><div class="ttdeci">int(* xran_ethdi_mbuf_send_fn)(struct rte_mbuf *mb, uint16_t ethertype)</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8h_source.html#l00169">xran_common.h:169</a></div></div>
340 <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>
341 <div class="ttc" id="structxran__fh__init_html"><div class="ttname"><a href="structxran__fh__init.html">xran_fh_init</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00323">xran_fh_o_du.h:323</a></div></div>
342 <div class="ttc" id="xran__lib__wrap_8hpp_html_a273a09cbea9267272f4e2a339059e442"><div class="ttname"><a href="xran__lib__wrap_8hpp.html#a273a09cbea9267272f4e2a339059e442">xran_lib_ota_tti</a></div><div class="ttdeci">uint32_t xran_lib_ota_tti</div><div class="ttdef"><b>Definition:</b> <a href="xran__main_8c_source.html#l00111">xran_main.c:111</a></div></div>
343 <div class="ttc" id="common_8h_html_a534c88c03c366dfbd4dd5efe7693f56b"><div class="ttname"><a href="common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b">N_SYM_PER_SLOT</a></div><div class="ttdeci">#define N_SYM_PER_SLOT</div><div class="ttdef"><b>Definition:</b> <a href="common_8h_source.html#l00050">common.h:50</a></div></div>
344 <div class="ttc" id="classxran_lib_wraper_html_a3783fbb2a26b8a0530c489850a905a38"><div class="ttname"><a href="classxran_lib_wraper.html#a3783fbb2a26b8a0530c489850a905a38">xranLibWraper::update_tti</a></div><div class="ttdeci">void update_tti()</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l01007">xran_lib_wrap.hpp:1007</a></div></div>
345 <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>
346 <div class="ttc" id="xran__lib__wrap_8hpp_html_ae9c34194d5ec7c9c24b680085991306c"><div class="ttname"><a href="xran__lib__wrap_8hpp.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="xran__lib__wrap_8hpp_source.html#l00050">xran_lib_wrap.hpp:50</a></div></div>
347 <div class="ttc" id="classxran_lib_wraper_html_a98ce8fded84309c17c61f4dd902d4e0f"><div class="ttname"><a href="classxran_lib_wraper.html#a98ce8fded84309c17c61f4dd902d4e0f">xranLibWraper::m_nSectorIndex</a></div><div class="ttdeci">int32_t m_nSectorIndex[XRAN_MAX_SECTOR_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00147">xran_lib_wrap.hpp:147</a></div></div>
348 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4">xranLibWraper::PHY_BW_30MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00084">xran_lib_wrap.hpp:84</a></div></div>
349 <div class="ttc" id="structxran__io__cfg_html_ab99f9c6dba4d5fdc09299b3ac670503c"><div class="ttname"><a href="structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c">xran_io_cfg::bbdev_mode</a></div><div class="ttdeci">int32_t bbdev_mode</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00298">xran_fh_o_du.h:298</a></div></div>
350 <div class="ttc" id="structxran__eaxcid__config_html_a0ba87d865af2deb1ee2565f528e1e72d"><div class="ttname"><a href="structxran__eaxcid__config.html#a0ba87d865af2deb1ee2565f528e1e72d">xran_eaxcid_config::mask_ccId</a></div><div class="ttdeci">uint16_t mask_ccId</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00311">xran_fh_o_du.h:311</a></div></div>
351 <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>
352 <div class="ttc" id="structxran__prb__elm_html_ad2586af82c76901c361a2d08a6ba553b"><div class="ttname"><a href="structxran__prb__elm.html#ad2586af82c76901c361a2d08a6ba553b">xran_prb_elm::numSymb</a></div><div class="ttdeci">int16_t numSymb</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00397">xran_fh_o_du.h:397</a></div></div>
353 <div class="ttc" id="classxran_lib_wraper_html_aa1611b01fe2d460ebe58e45c901f68e8"><div class="ttname"><a href="classxran_lib_wraper.html#aa1611b01fe2d460ebe58e45c901f68e8">xranLibWraper::m_sFrontHaulTxPrbMapBuffers</a></div><div class="ttdeci">struct xran_flat_buffer m_sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00136">xran_lib_wrap.hpp:136</a></div></div>
354 <div class="ttc" id="classxran_lib_wraper_html_a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4"><div class="ttname"><a href="classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4">xranLibWraper::PHY_BW_15MHZ</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00083">xran_lib_wrap.hpp:83</a></div></div>
355 <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>
356 <div class="ttc" id="classxran_lib_wraper_html_aa0dbf843da8d26633022c153c473deb5"><div class="ttname"><a href="classxran_lib_wraper.html#aa0dbf843da8d26633022c153c473deb5">xranLibWraper::m_dpdk_dev_cp</a></div><div class="ttdeci">std::string m_dpdk_dev_cp</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00111">xran_lib_wrap.hpp:111</a></div></div>
357 <div class="ttc" id="classxran_lib_wraper_html_a364dd5820c1bb3fc2f760e5b6cab5b98"><div class="ttname"><a href="classxran_lib_wraper.html#a364dd5820c1bb3fc2f760e5b6cab5b98">xranLibWraper::tx_dl_bfw_buffer_position</a></div><div class="ttdeci">int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00155">xran_lib_wrap.hpp:155</a></div></div>
358 <div class="ttc" id="xran__fh__o__du_8h_html_a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21"><div class="ttname"><a href="xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21">XRAN_I_Q_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00478">xran_fh_o_du.h:478</a></div></div>
359 <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>
360 <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>
361 <div class="ttc" id="structxran__prach__config_html_ab9b99e41ea39f16780f66a539aa872c8"><div class="ttname"><a href="structxran__prach__config.html#ab9b99e41ea39f16780f66a539aa872c8">xran_prach_config::nPrachSubcSpacing</a></div><div class="ttdeci">uint8_t nPrachSubcSpacing</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00433">xran_fh_o_du.h:433</a></div></div>
362 <div class="ttc" id="structxran__fh__init_html_adcde08e47bdc5157e76975f32d1e96e8"><div class="ttname"><a href="structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8">xran_fh_init::p_o_du_addr</a></div><div class="ttdeci">int8_t * p_o_du_addr</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00333">xran_fh_o_du.h:333</a></div></div>
363 <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>
364 <div class="ttc" id="classxran_lib_wraper_html_a8b3edaed699562559db744c8e2aa36b1"><div class="ttname"><a href="classxran_lib_wraper.html#a8b3edaed699562559db744c8e2aa36b1">xranLibWraper::iq_bfw_buffer_size_ul</a></div><div class="ttdeci">int iq_bfw_buffer_size_ul</div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00150">xran_lib_wrap.hpp:150</a></div></div>
365 <div class="ttc" id="classxran_lib_wraper_html_afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1"><div class="ttname"><a href="classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1">xranLibWraper::XRANFTHTX_PRB_MAP_OUT</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__lib__wrap_8hpp_source.html#l00072">xran_lib_wrap.hpp:72</a></div></div>
366 <div class="ttc" id="structxran__flat__buffer_html_ac9d92d585877c2ef1af759479baf85fe"><div class="ttname"><a href="structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe">xran_flat_buffer::nElementLenInBytes</a></div><div class="ttdeci">uint32_t nElementLenInBytes</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00555">xran_fh_o_du.h:555</a></div></div>
367 </div><!-- fragment --></div><!-- contents -->
368 <!-- start footer part -->
369 <hr class="footer"/><address class="footer"><small>
370 Generated by &#160;<a href="http://www.doxygen.org/index.html">
371 <img class="footer" src="doxygen.png" alt="doxygen"/>
372 </a> 1.8.13
373 </small></address>
374 </body>
375 </html>