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