add Doxygen documentation
[o-du/phy.git] / docs / API / u__plane__functional_8cc_source.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>o-du/phy: u_plane_functional.cc Source File</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="search/searchdata.js"></script>
14 <script type="text/javascript" src="search/search.js"></script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21  <tbody>
22  <tr style="height: 56px;">
23   <td id="projectalign" style="padding-left: 0.5em;">
24    <div id="projectname">o-du/phy
25    </div>
26    <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
27   </td>
28  </tr>
29  </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.13 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "search",false,'Search');
36 </script>
37 <script type="text/javascript" src="menudata.js"></script>
38 <script type="text/javascript" src="menu.js"></script>
39 <script type="text/javascript">
40 $(function() {
41   initMenu('',true,false,'search.php','Search');
42   $(document).ready(function() { init_search(); });
43 });
44 </script>
45 <div id="main-nav"></div>
46 <!-- window showing the filter options -->
47 <div id="MSearchSelectWindow"
48      onmouseover="return searchBox.OnSearchSelectShow()"
49      onmouseout="return searchBox.OnSearchSelectHide()"
50      onkeydown="return searchBox.OnSearchSelectKey(event)">
51 </div>
52
53 <!-- iframe showing the search results (closed by default) -->
54 <div id="MSearchResultsWindow">
55 <iframe src="javascript:void(0)" frameborder="0" 
56         name="MSearchResults" id="MSearchResults">
57 </iframe>
58 </div>
59
60 <div id="nav-path" class="navpath">
61   <ul>
62 <li class="navelem"><a class="el" href="dir_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_babe8eacf738372576863f88f66866a5.html">test</a></li><li class="navelem"><a class="el" href="dir_eb25680e5ae075ef825a327f00297047.html">test_xran</a></li>  </ul>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="headertitle">
67 <div class="title">u_plane_functional.cc</div>  </div>
68 </div><!--header-->
69 <div class="contents">
70 <a href="u__plane__functional_8cc.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">*   Copyright (c) 2019 Intel.</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">*   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">*   you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">*   You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">*       http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">*   Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">*   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">*   See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">*   limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*******************************************************************************/</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="common_8hpp.html">common.hpp</a>&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__common_8h.html">xran_common.h</a>&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__up__api_8h.html">xran_up_api.h</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="xran__fh__o__du_8h.html">xran_fh_o_du.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ethernet_8h.html">ethernet.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="u__plane__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc">   28</a></span>&#160;<span class="keyword">const</span> std::string <a class="code" href="u__plane__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a> = <span class="stringliteral">&quot;u-plane&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_u__plane_check.html">   30</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_u__plane_check.html">U_planeCheck</a> : <span class="keyword">public</span> <a class="code" href="class_kernel_tests.html">KernelTests</a></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="keyword">protected</span>:</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475">   33</a></span>&#160;    <span class="keyword">struct </span>rte_mbuf *<a class="code" href="class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475">test_buffer</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_u__plane_check.html#ad3c8fd8da54a8693b6ea41565af2ad19">   34</a></span>&#160;    <span class="keywordtype">char</span> * <a class="code" href="class_u__plane_check.html#ad3c8fd8da54a8693b6ea41565af2ad19">iq_offset</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="class_u__plane_check.html#aab306187cd86e6270f16af7fac1d0a63">   35</a></span>&#160;    <span class="keyword">struct </span>rte_mempool *<a class="code" href="class_u__plane_check.html#aab306187cd86e6270f16af7fac1d0a63">test_eth_mbuf_pool</a>;</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"><a class="line" href="class_u__plane_check.html#a3a1707f6479611fdc609a3eb8a0cef1b">   37</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_u__plane_check.html#a3a1707f6479611fdc609a3eb8a0cef1b">SetUp</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <a class="code" href="class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a">init_test</a>(<span class="stringliteral">&quot;u_plane_functional&quot;</span>);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        test_buffer = (<span class="keyword">struct </span>rte_mbuf*)rte_pktmbuf_alloc(<a class="code" href="ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba">_eth_mbuf_pool</a>);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordflow">if</span>(test_buffer == NULL) {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;            std::cout &lt;&lt; __func__ &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; __LINE__ &lt;&lt; <span class="stringliteral">&quot; Failed to allocatte a packet buffer!&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        iq_offset = rte_pktmbuf_mtod(test_buffer, <span class="keywordtype">char</span> * );</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        iq_offset = iq_offset + <span class="keyword">sizeof</span>(<span class="keyword">struct </span>ether_hdr) +</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                                    sizeof (struct xran_ecpri_hdr) +</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                                    sizeof (struct radio_app_common_hdr) +</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                                    sizeof(struct data_section_hdr);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    }</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="comment">/* It&#39;s called after an execution of the each test case.*/</span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_u__plane_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6">   54</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_u__plane_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6">TearDown</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        rte_pktmbuf_free(test_buffer);</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;};</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">/* simple test of DL and UL functionality */</span></div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed">   61</a></span>&#160;<a class="code" href="u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed">TEST_P</a>(<a class="code" href="class_u__plane_check.html">U_planeCheck</a>, Test_DLUL)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__xran__common__pkt.html#ga9c60a23fdae979ad1842b255790d1558">xran_pkt_dir</a> direction =  <a class="code" href="group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f">XRAN_DIR_DL</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    uint16_t section_id = 7;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keyword">enum</span> <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a> iq_buf_byte_order = <a class="code" href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098">XRAN_CPU_LE_BYTE_ORDER</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    uint8_t frame_id = 99;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    uint8_t subframe_id  = 9;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    uint8_t slot_id = 10;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    uint8_t symbol_no = 7;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">int</span> prb_start = 0;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">int</span> prb_num = 66;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    uint8_t CC_ID = 0;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    uint8_t RU_Port_ID = 0;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    uint8_t seq_id =0;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    uint32_t do_copy = 0;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    uint8_t compMeth = 0;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    uint8_t iqWidth =  16;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    int32_t prep_bytes;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keyword">struct </span><a class="code" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> *ecpri_hdr = NULL;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">struct </span><a class="code" href="structradio__app__common__hdr.html">radio_app_common_hdr</a> *app_hdr = NULL;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keyword">struct </span><a class="code" href="structdata__section__hdr.html">data_section_hdr</a> *section_hdr = NULL;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">char</span> *pChar = NULL;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    uint16_t payl_size = 0;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">struct </span><a class="code" href="structdata__section__hdr.html">data_section_hdr</a> res_sect;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    prep_bytes = <a class="code" href="xran__common_8c.html#adc9636576fb70f4b4fcfd1d03fe59998">prepare_symbol_ex</a>(direction,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                                section_id,</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                                <a class="code" href="class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475">test_buffer</a>,</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                                (<span class="keyword">struct</span> <a class="code" href="structrb__map.html">rb_map</a> *)<a class="code" href="class_u__plane_check.html#ad3c8fd8da54a8693b6ea41565af2ad19">iq_offset</a>,</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                                compMeth,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                                iqWidth,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                                iq_buf_byte_order,</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                                frame_id,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                                subframe_id,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                                slot_id,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                                symbol_no,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                                prb_start,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                                prb_num,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                                CC_ID,</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                                RU_Port_ID,</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                                seq_id,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                                do_copy);</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;    ASSERT_EQ(prep_bytes, 3168);</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;    pChar = rte_pktmbuf_mtod(<a class="code" href="class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475">test_buffer</a>, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    ecpri_hdr = (<span class="keyword">struct </span><a class="code" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> *)(pChar + <span class="keyword">sizeof</span>(<span class="keyword">struct</span> ether_hdr));</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    app_hdr = (<span class="keyword">struct </span><a class="code" href="structradio__app__common__hdr.html">radio_app_common_hdr</a> *)(pChar + <span class="keyword">sizeof</span>(<span class="keyword">struct</span> ether_hdr)</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                                              + <span class="keyword">sizeof</span> (<span class="keyword">struct </span><a class="code" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a>));</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    section_hdr = (<span class="keyword">struct </span><a class="code" href="structdata__section__hdr.html">data_section_hdr</a> *)(pChar + <span class="keyword">sizeof</span>(<span class="keyword">struct</span> ether_hdr) +</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                                            <span class="keyword">sizeof</span> (<span class="keyword">struct </span><a class="code" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a>) +</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                                            sizeof(struct radio_app_common_hdr));</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    ASSERT_EQ (ecpri_hdr-&gt;<a class="code" href="structxran__ecpri__hdr.html#aa90ff3ad961fe295cdffddc945999212">cmnhdr</a>.<a class="code" href="structxran__ecpri__cmn__hdr.html#a5b41115e5686e3ff4f14c356a3aa209a">ecpri_mesg_type</a>,  <a class="code" href="group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de">ECPRI_IQ_DATA</a>);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    payl_size =  rte_be_to_cpu_16(ecpri_hdr-&gt;<a class="code" href="structxran__ecpri__hdr.html#aa90ff3ad961fe295cdffddc945999212">cmnhdr</a>.<a class="code" href="structxran__ecpri__cmn__hdr.html#a61bf830b8866773b24cbca74ed3a4d6f">ecpri_payl_size</a>);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    ASSERT_EQ (payl_size,  3180);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    ASSERT_EQ(app_hdr-&gt;<a class="code" href="structradio__app__common__hdr.html#a40f66f521df9b1dbae9d0ee852c66e0d">data_direction</a>, direction);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    ASSERT_EQ(app_hdr-&gt;<a class="code" href="structradio__app__common__hdr.html#a03c1016ac46b9df250b994f242cf956a">frame_id</a>, frame_id);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    res_sect.<a class="code" href="structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb">fields</a>.<a class="code" href="structdata__section__hdr.html#a9f9f2f87d8b5cc7e4af6ef3e2c4c8189">all_bits</a> = rte_be_to_cpu_32(section_hdr-&gt;<a class="code" href="structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb">fields</a>.<a class="code" href="structdata__section__hdr.html#a9f9f2f87d8b5cc7e4af6ef3e2c4c8189">all_bits</a>);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    ASSERT_EQ(res_sect.<a class="code" href="structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb">fields</a>.<a class="code" href="structdata__section__hdr.html#acb00c5e7ebe809fda7288c699eed867c">num_prbu</a>, prb_num);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    ASSERT_EQ(res_sect.<a class="code" href="structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb">fields</a>.<a class="code" href="structdata__section__hdr.html#a11d1616fb975ccafbc33ab590fe501c4">sect_id</a>, section_id);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    {</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="comment">/* UL direction */</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="keywordtype">void</span> *iq_samp_buf;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keyword">struct </span><a class="code" href="structecpri__seq__id.html">ecpri_seq_id</a> seq;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keywordtype">int</span> num_bytes = 0;</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;        uint8_t CC_ID = 0;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        uint8_t Ant_ID = 0;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        uint8_t frame_id = 0;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        uint8_t subframe_id = 0;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        uint8_t slot_id = 0;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        uint8_t symb_id = 0;</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">  141</span>&#160;        uint8_t compMeth = 0;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        uint8_t iqWidth = 0;</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">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        uint16_t num_prbu;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        uint16_t start_prbu;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        uint16_t sym_inc;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        uint16_t <a class="code" href="xran__pkt__cp_8h.html#affa3adbd50cd4af2018ba1fc0e8c3e31">rb</a>;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        uint16_t sect_id;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        int32_t prep_bytes;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <span class="keywordtype">char</span> *pChar = NULL;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        num_bytes = <a class="code" href="xran__up__api_8h.html#adfc5ea408600c8de1384be020b359d95">xran_extract_iq_samples</a>(<a class="code" href="class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475">test_buffer</a>,</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                                &amp;iq_samp_buf,</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                                &amp;CC_ID,</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                                &amp;Ant_ID,</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                                &amp;frame_id,</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                                &amp;subframe_id,</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                                &amp;slot_id,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                                &amp;symb_id,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                                &amp;seq,</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                                &amp;num_prbu,</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                                &amp;start_prbu,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                                &amp;sym_inc,</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                                &amp;rb,</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                                &amp;sect_id,</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                                0,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                                &amp;compMeth,</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                                &amp;iqWidth);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        ASSERT_EQ(num_bytes, 3182);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        ASSERT_EQ(prb_num, 66);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        ASSERT_EQ(CC_ID, 0);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    }</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;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<a class="code" href="u__plane__functional_8cc.html#aa59dece42a6c30feedc30accb71c2001">INSTANTIATE_TEST_CASE_P</a>(UnitTest, <a class="code" href="class_u__plane_check.html">U_planeCheck</a>,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                        testing::ValuesIn(<a class="code" href="common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a>(<a class="code" href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96">U_planeCheck::get_number_of_cases</a>(<span class="stringliteral">&quot;u_plane_functional&quot;</span>))));</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="ttc" id="structradio__app__common__hdr_html_a40f66f521df9b1dbae9d0ee852c66e0d"><div class="ttname"><a href="structradio__app__common__hdr.html#a40f66f521df9b1dbae9d0ee852c66e0d">radio_app_common_hdr::data_direction</a></div><div class="ttdeci">uint8_t data_direction</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00173">xran_pkt.h:173</a></div></div>
71 <div class="ttc" id="class_u__plane_check_html_ac4fca95dc3b93372ce7f2078baf8e8b6"><div class="ttname"><a href="class_u__plane_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6">U_planeCheck::TearDown</a></div><div class="ttdeci">void TearDown() override</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00054">u_plane_functional.cc:54</a></div></div>
72 <div class="ttc" id="u__plane__functional_8cc_html_a17e5d82ac5aec3860b1324a80fda79ed"><div class="ttname"><a href="u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed">TEST_P</a></div><div class="ttdeci">TEST_P(U_planeCheck, Test_DLUL)</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00061">u_plane_functional.cc:61</a></div></div>
73 <div class="ttc" id="group__xran__common__pkt_html_ga9c60a23fdae979ad1842b255790d1558"><div class="ttname"><a href="group__xran__common__pkt.html#ga9c60a23fdae979ad1842b255790d1558">xran_pkt_dir</a></div><div class="ttdeci">xran_pkt_dir</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00146">xran_pkt.h:146</a></div></div>
74 <div class="ttc" id="xran__pkt__cp_8h_html_affa3adbd50cd4af2018ba1fc0e8c3e31"><div class="ttname"><a href="xran__pkt__cp_8h.html#affa3adbd50cd4af2018ba1fc0e8c3e31">rb</a></div><div class="ttdeci">uint32_t rb</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__cp_8h_source.html#l00243">xran_pkt_cp.h:243</a></div></div>
75 <div class="ttc" id="class_u__plane_check_html_ad3c8fd8da54a8693b6ea41565af2ad19"><div class="ttname"><a href="class_u__plane_check.html#ad3c8fd8da54a8693b6ea41565af2ad19">U_planeCheck::iq_offset</a></div><div class="ttdeci">char * iq_offset</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00034">u_plane_functional.cc:34</a></div></div>
76 <div class="ttc" id="class_kernel_tests_html_a6157ff083be863bba0a7804cd1788d96"><div class="ttname"><a href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96">KernelTests::get_number_of_cases</a></div><div class="ttdeci">static unsigned get_number_of_cases(const std::string &amp;type)</div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00190">common.hpp:190</a></div></div>
77 <div class="ttc" id="structradio__app__common__hdr_html_a03c1016ac46b9df250b994f242cf956a"><div class="ttname"><a href="structradio__app__common__hdr.html#a03c1016ac46b9df250b994f242cf956a">radio_app_common_hdr::frame_id</a></div><div class="ttdeci">uint8_t frame_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00176">xran_pkt.h:176</a></div></div>
78 <div class="ttc" id="structdata__section__hdr_html"><div class="ttname"><a href="structdata__section__hdr.html">data_section_hdr</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__up_8h_source.html#l00067">xran_pkt_up.h:67</a></div></div>
79 <div class="ttc" id="class_kernel_tests_html"><div class="ttname"><a href="class_kernel_tests.html">KernelTests</a></div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00156">common.hpp:156</a></div></div>
80 <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>
81 <div class="ttc" id="class_u__plane_check_html_a3a1707f6479611fdc609a3eb8a0cef1b"><div class="ttname"><a href="class_u__plane_check.html#a3a1707f6479611fdc609a3eb8a0cef1b">U_planeCheck::SetUp</a></div><div class="ttdeci">void SetUp() override</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00037">u_plane_functional.cc:37</a></div></div>
82 <div class="ttc" id="xran__common_8c_html_adc9636576fb70f4b4fcfd1d03fe59998"><div class="ttname"><a href="xran__common_8c.html#adc9636576fb70f4b4fcfd1d03fe59998">prepare_symbol_ex</a></div><div class="ttdeci">int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)</div><div class="ttdef"><b>Definition:</b> <a href="xran__common_8c_source.html#l00348">xran_common.c:348</a></div></div>
83 <div class="ttc" id="structdata__section__hdr_html_acb00c5e7ebe809fda7288c699eed867c"><div class="ttname"><a href="structdata__section__hdr.html#acb00c5e7ebe809fda7288c699eed867c">data_section_hdr::num_prbu</a></div><div class="ttdeci">uint32_t num_prbu</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__up_8h_source.html#l00071">xran_pkt_up.h:71</a></div></div>
84 <div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
85 <div class="ttc" id="ethernet_8h_html"><div class="ttname"><a href="ethernet_8h.html">ethernet.h</a></div><div class="ttdoc">This file has all definitions for the Ethernet Data Interface Layer. </div></div>
86 <div class="ttc" id="structrb__map_html"><div class="ttname"><a href="structrb__map.html">rb_map</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__up_8h_source.html#l00135">xran_pkt_up.h:135</a></div></div>
87 <div class="ttc" id="structxran__ecpri__hdr_html"><div class="ttname"><a href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00130">xran_pkt.h:130</a></div></div>
88 <div class="ttc" id="class_u__plane_check_html"><div class="ttname"><a href="class_u__plane_check.html">U_planeCheck</a></div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00030">u_plane_functional.cc:30</a></div></div>
89 <div class="ttc" id="xran__fh__o__du_8h_html_ab5ce6839bae2968c79930a0bfa17f4d8"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8">xran_input_byte_order</a></div><div class="ttdeci">xran_input_byte_order</div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00471">xran_fh_o_du.h:471</a></div></div>
90 <div class="ttc" id="class_kernel_tests_html_abf28e5ea54fab2b0685972fe6e75560a"><div class="ttname"><a href="class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a">KernelTests::init_test</a></div><div class="ttdeci">void init_test(const std::string &amp;type)</div><div class="ttdoc">Defines section in the conf.json that is used to load parameters from. </div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00358">common.hpp:358</a></div></div>
91 <div class="ttc" id="structdata__section__hdr_html_a9f9f2f87d8b5cc7e4af6ef3e2c4c8189"><div class="ttname"><a href="structdata__section__hdr.html#a9f9f2f87d8b5cc7e4af6ef3e2c4c8189">data_section_hdr::all_bits</a></div><div class="ttdeci">uint32_t all_bits</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__up_8h_source.html#l00069">xran_pkt_up.h:69</a></div></div>
92 <div class="ttc" id="ethernet_8c_html_a8d83e3adb6c9e839b3b7259288f100ba"><div class="ttname"><a href="ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba">_eth_mbuf_pool</a></div><div class="ttdeci">struct rte_mempool * _eth_mbuf_pool</div><div class="ttdef"><b>Definition:</b> <a href="ethernet_8c_source.html#l00070">ethernet.c:70</a></div></div>
93 <div class="ttc" id="xran__fh__o__du_8h_html_ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098"><div class="ttname"><a href="xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098">XRAN_CPU_LE_BYTE_ORDER</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__fh__o__du_8h_source.html#l00473">xran_fh_o_du.h:473</a></div></div>
94 <div class="ttc" id="u__plane__functional_8cc_html_a69b4bff6061152ff85770d725cced3cc"><div class="ttname"><a href="u__plane__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc">module_name</a></div><div class="ttdeci">const std::string module_name</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00028">u_plane_functional.cc:28</a></div></div>
95 <div class="ttc" id="class_u__plane_check_html_a814db5f2ff5eb8cff5caf3ea1b473475"><div class="ttname"><a href="class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475">U_planeCheck::test_buffer</a></div><div class="ttdeci">struct rte_mbuf * test_buffer</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00033">u_plane_functional.cc:33</a></div></div>
96 <div class="ttc" id="structxran__ecpri__hdr_html_aa90ff3ad961fe295cdffddc945999212"><div class="ttname"><a href="structxran__ecpri__hdr.html#aa90ff3ad961fe295cdffddc945999212">xran_ecpri_hdr::cmnhdr</a></div><div class="ttdeci">struct xran_ecpri_cmn_hdr cmnhdr</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00132">xran_pkt.h:132</a></div></div>
97 <div class="ttc" id="xran__up__api_8h_html"><div class="ttname"><a href="xran__up__api_8h.html">xran_up_api.h</a></div><div class="ttdoc">This file provides the definitions for User Plane Messages APIs. </div></div>
98 <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>
99 <div class="ttc" id="structecpri__seq__id_html"><div class="ttname"><a href="structecpri__seq__id.html">ecpri_seq_id</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00097">xran_pkt.h:97</a></div></div>
100 <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>
101 <div class="ttc" id="class_u__plane_check_html_aab306187cd86e6270f16af7fac1d0a63"><div class="ttname"><a href="class_u__plane_check.html#aab306187cd86e6270f16af7fac1d0a63">U_planeCheck::test_eth_mbuf_pool</a></div><div class="ttdeci">struct rte_mempool * test_eth_mbuf_pool</div><div class="ttdef"><b>Definition:</b> <a href="u__plane__functional_8cc_source.html#l00035">u_plane_functional.cc:35</a></div></div>
102 <div class="ttc" id="structdata__section__hdr_html_a11d1616fb975ccafbc33ab590fe501c4"><div class="ttname"><a href="structdata__section__hdr.html#a11d1616fb975ccafbc33ab590fe501c4">data_section_hdr::sect_id</a></div><div class="ttdeci">uint32_t sect_id</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt__up_8h_source.html#l00075">xran_pkt_up.h:75</a></div></div>
103 <div class="ttc" id="u__plane__functional_8cc_html_aa59dece42a6c30feedc30accb71c2001"><div class="ttname"><a href="u__plane__functional_8cc.html#aa59dece42a6c30feedc30accb71c2001">INSTANTIATE_TEST_CASE_P</a></div><div class="ttdeci">INSTANTIATE_TEST_CASE_P(UnitTest, U_planeCheck, testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases(&quot;u_plane_functional&quot;))))</div></div>
104 <div class="ttc" id="structxran__ecpri__cmn__hdr_html_a5b41115e5686e3ff4f14c356a3aa209a"><div class="ttname"><a href="structxran__ecpri__cmn__hdr.html#a5b41115e5686e3ff4f14c356a3aa209a">xran_ecpri_cmn_hdr::ecpri_mesg_type</a></div><div class="ttdeci">uint8_t ecpri_mesg_type</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00118">xran_pkt.h:118</a></div></div>
105 <div class="ttc" id="xran__up__api_8h_html_adfc5ea408600c8de1384be020b359d95"><div class="ttname"><a href="xran__up__api_8h.html#adfc5ea408600c8de1384be020b359d95">xran_extract_iq_samples</a></div><div class="ttdeci">int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)</div><div class="ttdoc">Function extracts IQ samples from received mbuf packet. </div><div class="ttdef"><b>Definition:</b> <a href="xran__up__api_8c_source.html#l00327">xran_up_api.c:327</a></div></div>
106 <div class="ttc" id="structdata__section__hdr_html_a9f1bf385f4549249e191e6563acbdecb"><div class="ttname"><a href="structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb">data_section_hdr::fields</a></div><div class="ttdeci">union data_section_hdr::@18 fields</div></div>
107 <div class="ttc" id="group__xran__common__pkt_html_gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de"><div class="ttname"><a href="group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de">ECPRI_IQ_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00077">xran_pkt.h:77</a></div></div>
108 <div class="ttc" id="structradio__app__common__hdr_html"><div class="ttname"><a href="structradio__app__common__hdr.html">radio_app_common_hdr</a></div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00162">xran_pkt.h:162</a></div></div>
109 <div class="ttc" id="common_8cpp_html_a39bf4f7770751080f5b72046abfd01a5"><div class="ttname"><a href="common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a></div><div class="ttdeci">std::vector&lt; unsigned &gt; get_sequence(const unsigned number)</div><div class="ttdoc">For a given number return sequence of number from 0 to number - 1. </div><div class="ttdef"><b>Definition:</b> <a href="common_8cpp_source.html#l00078">common.cpp:78</a></div></div>
110 <div class="ttc" id="structxran__ecpri__cmn__hdr_html_a61bf830b8866773b24cbca74ed3a4d6f"><div class="ttname"><a href="structxran__ecpri__cmn__hdr.html#a61bf830b8866773b24cbca74ed3a4d6f">xran_ecpri_cmn_hdr::ecpri_payl_size</a></div><div class="ttdeci">uint16_t ecpri_payl_size</div><div class="ttdef"><b>Definition:</b> <a href="xran__pkt_8h_source.html#l00119">xran_pkt.h:119</a></div></div>
111 </div><!-- fragment --></div><!-- contents -->
112 <!-- start footer part -->
113 <hr class="footer"/><address class="footer"><small>
114 Generated by &#160;<a href="http://www.doxygen.org/index.html">
115 <img class="footer" src="doxygen.png" alt="doxygen"/>
116 </a> 1.8.13
117 </small></address>
118 </body>
119 </html>