add Doxygen documentation
[o-du/phy.git] / docs / API / xran__transport_8c.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>o-du/phy: xran_transport.c File Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="search/searchdata.js"></script>
14 <script type="text/javascript" src="search/search.js"></script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21  <tbody>
22  <tr style="height: 56px;">
23   <td id="projectalign" style="padding-left: 0.5em;">
24    <div id="projectname">o-du/phy
25    </div>
26    <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
27   </td>
28  </tr>
29  </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.13 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "search",false,'Search');
36 </script>
37 <script type="text/javascript" src="menudata.js"></script>
38 <script type="text/javascript" src="menu.js"></script>
39 <script type="text/javascript">
40 $(function() {
41   initMenu('',true,false,'search.php','Search');
42   $(document).ready(function() { init_search(); });
43 });
44 </script>
45 <div id="main-nav"></div>
46 <!-- window showing the filter options -->
47 <div id="MSearchSelectWindow"
48      onmouseover="return searchBox.OnSearchSelectShow()"
49      onmouseout="return searchBox.OnSearchSelectHide()"
50      onkeydown="return searchBox.OnSearchSelectKey(event)">
51 </div>
52
53 <!-- iframe showing the search results (closed by default) -->
54 <div id="MSearchResultsWindow">
55 <iframe src="javascript:void(0)" frameborder="0" 
56         name="MSearchResults" id="MSearchResults">
57 </iframe>
58 </div>
59
60 <div id="nav-path" class="navpath">
61   <ul>
62 <li class="navelem"><a class="el" href="dir_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_5cc0cc0264b57168b75ca56bde6cc403.html">lib</a></li><li class="navelem"><a class="el" href="dir_9fc50806095da30fbd4a2dbe2e456ff5.html">src</a></li>  </ul>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="summary">
67 <a href="#func-members">Functions</a>  </div>
68   <div class="headertitle">
69 <div class="title">xran_transport.c File Reference</div>  </div>
70 </div><!--header-->
71 <div class="contents">
72
73 <p>This file provides the implementation for Transport lyaer (eCPRI) API.  
74 <a href="#details">More...</a></p>
75 <div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
76 <code>#include &lt;endian.h&gt;</code><br />
77 <code>#include &lt;rte_common.h&gt;</code><br />
78 <code>#include &lt;rte_config.h&gt;</code><br />
79 <code>#include &quot;<a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>&quot;</code><br />
80 <code>#include &quot;<a class="el" href="xran__common_8h_source.html">xran_common.h</a>&quot;</code><br />
81 <code>#include &quot;<a class="el" href="xran__transport_8h_source.html">xran_transport.h</a>&quot;</code><br />
82 <code>#include &quot;<a class="el" href="xran__pkt__cp_8h_source.html">xran_pkt_cp.h</a>&quot;</code><br />
83 <code>#include &quot;<a class="el" href="xran__cp__api_8h_source.html">xran_cp_api.h</a>&quot;</code><br />
84 <code>#include &quot;<a class="el" href="xran__up__api_8h_source.html">xran_up_api.h</a>&quot;</code><br />
85 <code>#include &quot;<a class="el" href="xran__printf_8h_source.html">xran_printf.h</a>&quot;</code><br />
86 </div><div class="textblock"><div class="dynheader">
87 Include dependency graph for xran_transport.c:</div>
88 <div class="dyncontent">
89 <div class="center"><img src="xran__transport_8c__incl.png" border="0" usemap="#xran__transport_8c" alt=""/></div>
90 <map name="xran__transport_8c" id="xran__transport_8c">
91 <area shape="rect" id="node6" href="xran__fh__o__du_8h.html" title="This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN&#45;WG..." alt="" coords="707,229,817,256"/>
92 <area shape="rect" id="node20" href="xran__common_8h.html" title="XRAN layer common functionality for both lls&#45;CU and RU as well as C&#45;plane and U&#45;plane. " alt="" coords="1075,80,1190,107"/>
93 <area shape="rect" id="node28" href="xran__cp__api_8h.html" title="This file provides the definitions for Control Plane Messages APIs. " alt="" coords="1301,155,1404,181"/>
94 <area shape="rect" id="node29" href="xran__pkt__cp_8h.html" title="This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in X..." alt="" coords="1301,229,1405,256"/>
95 <area shape="rect" id="node30" href="xran__transport_8h.html" title="This file provides the definitions for Transport layer (eCPRI) API. " alt="" coords="1429,229,1545,256"/>
96 <area shape="rect" id="node31" href="xran__up__api_8h.html" title="This file provides the definitions for User Plane Messages APIs. " alt="" coords="1672,155,1775,181"/>
97 <area shape="rect" id="node32" href="xran__printf_8h.html" title="Modules provide debug prints and utility functions. " alt="" coords="167,229,261,256"/>
98 <area shape="rect" id="node24" href="xran__pkt__up_8h.html" title="Definitions and support functions to process XRAN packet. " alt="" coords="1671,229,1775,256"/>
99 <area shape="rect" id="node25" href="xran__pkt_8h.html" title="Definitions and support functions to process XRAN packet. " alt="" coords="1822,304,1905,331"/>
100 </map>
101 </div>
102 </div>
103 <p><a href="xran__transport_8c_source.html">Go to the source code of this file.</a></p>
104 <table class="memberdecls">
105 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
106 Functions</h2></td></tr>
107 <tr class="memitem:a0f378609208ec66467c58f0702ced85c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8c.html#a0f378609208ec66467c58f0702ced85c">xran_get_ecpri_hdr_size</a> (void)</td></tr>
108 <tr class="memdesc:a0f378609208ec66467c58f0702ced85c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return eCPRI header size without eCPRI common header  <a href="#a0f378609208ec66467c58f0702ced85c">More...</a><br /></td></tr>
109 <tr class="separator:a0f378609208ec66467c58f0702ced85c"><td class="memSeparator" colspan="2">&#160;</td></tr>
110 <tr class="memitem:ae834080139ba785f1a3ac5781bf2ec88"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8c.html#ae834080139ba785f1a3ac5781bf2ec88">xran_compose_cid</a> (uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)</td></tr>
111 <tr class="memdesc:ae834080139ba785f1a3ac5781bf2ec88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compose ecpriRtcid/ecpriPcid.  <a href="#ae834080139ba785f1a3ac5781bf2ec88">More...</a><br /></td></tr>
112 <tr class="separator:ae834080139ba785f1a3ac5781bf2ec88"><td class="memSeparator" colspan="2">&#160;</td></tr>
113 <tr class="memitem:ab08a85b6527f45a9ba22d25061a96a3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8c.html#ab08a85b6527f45a9ba22d25061a96a3c">xran_decompose_cid</a> (uint16_t cid, struct <a class="el" href="structxran__eaxc__info.html">xran_eaxc_info</a> *result)</td></tr>
114 <tr class="memdesc:ab08a85b6527f45a9ba22d25061a96a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompose ecpriRtcid/ecpriPcid.  <a href="#ab08a85b6527f45a9ba22d25061a96a3c">More...</a><br /></td></tr>
115 <tr class="separator:ab08a85b6527f45a9ba22d25061a96a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 <tr class="memitem:a7070bae58b40a4621354bda1677261af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8c.html#a7070bae58b40a4621354bda1677261af">xran_update_ecpri_payload_size</a> (struct rte_mbuf *mbuf, int size)</td></tr>
117 <tr class="memdesc:a7070bae58b40a4621354bda1677261af"><td class="mdescLeft">&#160;</td><td class="mdescRight">modify the payload size of eCPRI header in xRAN packet  <a href="#a7070bae58b40a4621354bda1677261af">More...</a><br /></td></tr>
118 <tr class="separator:a7070bae58b40a4621354bda1677261af"><td class="memSeparator" colspan="2">&#160;</td></tr>
119 <tr class="memitem:aa21387dfaba47c2046d4a05f50cfc768"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768">xran_build_ecpri_hdr</a> (struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **ecpri_hdr)</td></tr>
120 <tr class="memdesc:aa21387dfaba47c2046d4a05f50cfc768"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build ECPRI header and returns added length.  <a href="#aa21387dfaba47c2046d4a05f50cfc768">More...</a><br /></td></tr>
121 <tr class="separator:aa21387dfaba47c2046d4a05f50cfc768"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:ad199c3f4bfa018f5d0846471206217d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8c.html#ad199c3f4bfa018f5d0846471206217d1">xran_parse_ecpri_hdr</a> (struct rte_mbuf *mbuf, struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **ecpri_hdr, struct <a class="el" href="structxran__recv__packet__info.html">xran_recv_packet_info</a> *pkt_info)</td></tr>
123 <tr class="memdesc:ad199c3f4bfa018f5d0846471206217d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse ECPRI header.  <a href="#ad199c3f4bfa018f5d0846471206217d1">More...</a><br /></td></tr>
124 <tr class="separator:ad199c3f4bfa018f5d0846471206217d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 </table>
126 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
127 <div class="textblock"><p>This file provides the implementation for Transport lyaer (eCPRI) API. </p>
128 <dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
129
130 <p class="definition">Definition in file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
131 </div><h2 class="groupheader">Function Documentation</h2>
132 <a id="aa21387dfaba47c2046d4a05f50cfc768"></a>
133 <h2 class="memtitle"><span class="permalink"><a href="#aa21387dfaba47c2046d4a05f50cfc768">&#9670;&nbsp;</a></span>xran_build_ecpri_hdr()</h2>
134
135 <div class="memitem">
136 <div class="memproto">
137       <table class="memname">
138         <tr>
139           <td class="memname">int xran_build_ecpri_hdr </td>
140           <td>(</td>
141           <td class="paramtype">struct rte_mbuf *&#160;</td>
142           <td class="paramname"><em>mbuf</em>, </td>
143         </tr>
144         <tr>
145           <td class="paramkey"></td>
146           <td></td>
147           <td class="paramtype">uint8_t&#160;</td>
148           <td class="paramname"><em>CC_ID</em>, </td>
149         </tr>
150         <tr>
151           <td class="paramkey"></td>
152           <td></td>
153           <td class="paramtype">uint8_t&#160;</td>
154           <td class="paramname"><em>Ant_ID</em>, </td>
155         </tr>
156         <tr>
157           <td class="paramkey"></td>
158           <td></td>
159           <td class="paramtype">uint8_t&#160;</td>
160           <td class="paramname"><em>seq_id</em>, </td>
161         </tr>
162         <tr>
163           <td class="paramkey"></td>
164           <td></td>
165           <td class="paramtype">struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **&#160;</td>
166           <td class="paramname"><em>ecpri_hdr</em>&#160;</td>
167         </tr>
168         <tr>
169           <td></td>
170           <td>)</td>
171           <td></td><td></td>
172         </tr>
173       </table>
174 </div><div class="memdoc">
175
176 <p>Build ECPRI header and returns added length. </p>
177 <dl class="params"><dt>Parameters</dt><dd>
178   <table class="params">
179     <tr><td class="paramname">mbuf</td><td>The pointer of the packet buffer to be parsed </td></tr>
180     <tr><td class="paramname">CC_ID</td><td>Component Carrier ID for this C-Plane message </td></tr>
181     <tr><td class="paramname">Ant_ID</td><td>Antenna ID(RU Port ID) for this C-Plane message </td></tr>
182     <tr><td class="paramname">seq_id</td><td>Sequence ID for this C-Plane message </td></tr>
183     <tr><td class="paramname">ecpri_hdr</td><td>The pointer to ECPRI header </td></tr>
184   </table>
185   </dd>
186 </dl>
187 <dl class="section return"><dt>Returns</dt><dd>added payload size on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer </dd></dl>
188
189 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00142">142</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
190 <div class="dynheader">
191 Here is the call graph for this function:</div>
192 <div class="dyncontent">
193 <div class="center"><img src="xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png" border="0" usemap="#xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph" alt=""/></div>
194 <map name="xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph" id="xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph">
195 <area shape="rect" id="node2" href="xran__transport_8c.html#ae834080139ba785f1a3ac5781bf2ec88" title="Compose ecpriRtcid/ecpriPcid. " alt="" coords="211,5,341,32"/>
196 <area shape="rect" id="node5" href="xran__transport_8c.html#a0f378609208ec66467c58f0702ced85c" title="return eCPRI header size without eCPRI common header " alt="" coords="195,56,357,83"/>
197 <area shape="rect" id="node3" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="405,5,549,32"/>
198 <area shape="rect" id="node4" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="597,5,723,32"/>
199 </map>
200 </div>
201 <div class="dynheader">
202 Here is the caller graph for this function:</div>
203 <div class="dyncontent">
204 <div class="center"><img src="xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png" border="0" usemap="#xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph" alt=""/></div>
205 <map name="xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph" id="xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph">
206 <area shape="rect" id="node2" href="xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db" title="Create a C&#45;Plane packet Transport layer fragmentation is not supported. " alt="" coords="195,81,341,108"/>
207 <area shape="rect" id="node3" href="c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846" title="xran_ut_prepare_cp" alt="" coords="400,5,536,32"/>
208 <area shape="rect" id="node5" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="432,56,504,83"/>
209 <area shape="rect" id="node6" href="xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd" title="generate_cpmsg_dlul" alt="" coords="395,107,541,133"/>
210 <area shape="rect" id="node7" href="xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d" title="generate_cpmsg_prach" alt="" coords="389,157,547,184"/>
211 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="616,5,688,32"/>
212 <area shape="rect" id="node8" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="616,132,688,159"/>
213 <area shape="rect" id="node9" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090" title="performance_cp" alt="" coords="595,183,709,209"/>
214 <area shape="rect" id="node10" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee" title="TEST_P" alt="" coords="757,183,829,209"/>
215 </map>
216 </div>
217
218 </div>
219 </div>
220 <a id="ae834080139ba785f1a3ac5781bf2ec88"></a>
221 <h2 class="memtitle"><span class="permalink"><a href="#ae834080139ba785f1a3ac5781bf2ec88">&#9670;&nbsp;</a></span>xran_compose_cid()</h2>
222
223 <div class="memitem">
224 <div class="memproto">
225       <table class="memname">
226         <tr>
227           <td class="memname">uint16_t xran_compose_cid </td>
228           <td>(</td>
229           <td class="paramtype">uint8_t&#160;</td>
230           <td class="paramname"><em>CU_Port_ID</em>, </td>
231         </tr>
232         <tr>
233           <td class="paramkey"></td>
234           <td></td>
235           <td class="paramtype">uint8_t&#160;</td>
236           <td class="paramname"><em>BandSector_ID</em>, </td>
237         </tr>
238         <tr>
239           <td class="paramkey"></td>
240           <td></td>
241           <td class="paramtype">uint8_t&#160;</td>
242           <td class="paramname"><em>CC_ID</em>, </td>
243         </tr>
244         <tr>
245           <td class="paramkey"></td>
246           <td></td>
247           <td class="paramtype">uint8_t&#160;</td>
248           <td class="paramname"><em>Ant_ID</em>&#160;</td>
249         </tr>
250         <tr>
251           <td></td>
252           <td>)</td>
253           <td></td><td></td>
254         </tr>
255       </table>
256 </div><div class="memdoc">
257
258 <p>Compose ecpriRtcid/ecpriPcid. </p>
259 <dl class="params"><dt>Parameters</dt><dd>
260   <table class="params">
261     <tr><td class="paramname">CU_Port_ID</td><td>CU Port ID </td></tr>
262     <tr><td class="paramname">BanbSector_ID</td><td>Band Sector ID </td></tr>
263     <tr><td class="paramname">CC_ID</td><td>Component Carrier ID </td></tr>
264     <tr><td class="paramname">Ant_ID</td><td>RU Port ID (antenna ID) </td></tr>
265   </table>
266   </dd>
267 </dl>
268 <dl class="section return"><dt>Returns</dt><dd>uint16_t composed ecpriRtcid/ecpriPcid (network byte order) </dd></dl>
269
270 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00065">65</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
271 <div class="dynheader">
272 Here is the call graph for this function:</div>
273 <div class="dyncontent">
274 <div class="center"><img src="xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png" border="0" usemap="#xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph" alt=""/></div>
275 <map name="xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph" id="xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph">
276 <area shape="rect" id="node2" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="184,5,328,32"/>
277 <area shape="rect" id="node3" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="376,5,501,32"/>
278 </map>
279 </div>
280 <div class="dynheader">
281 Here is the caller graph for this function:</div>
282 <div class="dyncontent">
283 <div class="center"><img src="xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png" border="0" usemap="#xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph" alt=""/></div>
284 <map name="xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph" id="xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph">
285 <area shape="rect" id="node2" href="xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768" title="Build ECPRI header and returns added length. " alt="" coords="184,81,325,108"/>
286 <area shape="rect" id="node3" href="xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db" title="Create a C&#45;Plane packet Transport layer fragmentation is not supported. " alt="" coords="373,81,520,108"/>
287 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846" title="xran_ut_prepare_cp" alt="" coords="579,5,715,32"/>
288 <area shape="rect" id="node6" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="611,56,683,83"/>
289 <area shape="rect" id="node7" href="xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd" title="generate_cpmsg_dlul" alt="" coords="574,107,719,133"/>
290 <area shape="rect" id="node8" href="xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d" title="generate_cpmsg_prach" alt="" coords="568,157,725,184"/>
291 <area shape="rect" id="node5" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="795,5,867,32"/>
292 <area shape="rect" id="node9" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="795,132,867,159"/>
293 <area shape="rect" id="node10" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090" title="performance_cp" alt="" coords="773,183,888,209"/>
294 <area shape="rect" id="node11" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee" title="TEST_P" alt="" coords="936,183,1008,209"/>
295 </map>
296 </div>
297
298 </div>
299 </div>
300 <a id="ab08a85b6527f45a9ba22d25061a96a3c"></a>
301 <h2 class="memtitle"><span class="permalink"><a href="#ab08a85b6527f45a9ba22d25061a96a3c">&#9670;&nbsp;</a></span>xran_decompose_cid()</h2>
302
303 <div class="memitem">
304 <div class="memproto">
305       <table class="memname">
306         <tr>
307           <td class="memname">void xran_decompose_cid </td>
308           <td>(</td>
309           <td class="paramtype">uint16_t&#160;</td>
310           <td class="paramname"><em>cid</em>, </td>
311         </tr>
312         <tr>
313           <td class="paramkey"></td>
314           <td></td>
315           <td class="paramtype">struct <a class="el" href="structxran__eaxc__info.html">xran_eaxc_info</a> *&#160;</td>
316           <td class="paramname"><em>result</em>&#160;</td>
317         </tr>
318         <tr>
319           <td></td>
320           <td>)</td>
321           <td></td><td></td>
322         </tr>
323       </table>
324 </div><div class="memdoc">
325
326 <p>Decompose ecpriRtcid/ecpriPcid. </p>
327 <dl class="params"><dt>Parameters</dt><dd>
328   <table class="params">
329     <tr><td class="paramname">cid</td><td>composed ecpriRtcid/ecpriPcid (network byte order) </td></tr>
330     <tr><td class="paramname">result</td><td>the pointer of the structure to store decomposed values </td></tr>
331   </table>
332   </dd>
333 </dl>
334 <dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
335
336 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00089">89</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
337 <div class="dynheader">
338 Here is the call graph for this function:</div>
339 <div class="dyncontent">
340 <div class="center"><img src="xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png" border="0" usemap="#xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph" alt=""/></div>
341 <map name="xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph" id="xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph">
342 <area shape="rect" id="node2" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="199,5,343,32"/>
343 <area shape="rect" id="node3" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="391,5,516,32"/>
344 </map>
345 </div>
346 <div class="dynheader">
347 Here is the caller graph for this function:</div>
348 <div class="dyncontent">
349 <div class="center"><img src="xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png" border="0" usemap="#xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph" alt=""/></div>
350 <map name="xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph" id="xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph">
351 <area shape="rect" id="node2" href="xran__transport_8c.html#ad199c3f4bfa018f5d0846471206217d1" title="Parse ECPRI header. " alt="" coords="209,31,355,57"/>
352 <area shape="rect" id="node8" href="xran__up__api_8c.html#adfc5ea408600c8de1384be020b359d95" title="Function for extracting all IQ samples from xRAN packet holding a single data section. " alt="" coords="199,81,365,108"/>
353 <area shape="rect" id="node3" href="xran__cp__api_8c.html#a38c83cd67a7265920f3bd0b36510f713" title="Parse a C&#45;Plane packet (for RU emulation) Transport layer fragmentation is not supported. " alt="" coords="413,31,545,57"/>
354 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="635,5,707,32"/>
355 <area shape="rect" id="node5" href="chain__tests_8cc.html#aa17765d107c851ebcc3d202cef78aa75" title="send_mbuf_cp_perf" alt="" coords="603,56,739,83"/>
356 <area shape="rect" id="node6" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="797,56,869,83"/>
357 <area shape="rect" id="node7" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="957,56,1029,83"/>
358 <area shape="rect" id="node9" href="u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed" title="TEST_P" alt="" coords="443,81,515,108"/>
359 <area shape="rect" id="node10" href="chain__tests_8cc.html#a3d4bd5c7eec6da4ab71688e209100761" title="process_mbuf" alt="" coords="427,132,531,159"/>
360 <area shape="rect" id="node11" href="xran__main_8c.html#a7a412a9cd0ac919dccb2112fb386d64a" title="handle_ecpri_ethertype" alt="" coords="593,132,749,159"/>
361 <area shape="rect" id="node12" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="798,132,869,159"/>
362 <area shape="rect" id="node13" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="917,132,1068,159"/>
363 </map>
364 </div>
365
366 </div>
367 </div>
368 <a id="a0f378609208ec66467c58f0702ced85c"></a>
369 <h2 class="memtitle"><span class="permalink"><a href="#a0f378609208ec66467c58f0702ced85c">&#9670;&nbsp;</a></span>xran_get_ecpri_hdr_size()</h2>
370
371 <div class="memitem">
372 <div class="memproto">
373       <table class="memname">
374         <tr>
375           <td class="memname">int xran_get_ecpri_hdr_size </td>
376           <td>(</td>
377           <td class="paramtype">void&#160;</td>
378           <td class="paramname"></td><td>)</td>
379           <td></td>
380         </tr>
381       </table>
382 </div><div class="memdoc">
383
384 <p>return eCPRI header size without eCPRI common header </p>
385 <dl class="section return"><dt>Returns</dt><dd>the size of eCPRI header without common header </dd></dl>
386
387 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00049">49</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
388 <div class="dynheader">
389 Here is the caller graph for this function:</div>
390 <div class="dyncontent">
391 <div class="center"><img src="xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.png" border="0" usemap="#xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph" alt=""/></div>
392 <map name="xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph" id="xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph">
393 <area shape="rect" id="node2" href="xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768" title="Build ECPRI header and returns added length. " alt="" coords="216,81,357,108"/>
394 <area shape="rect" id="node3" href="xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db" title="Create a C&#45;Plane packet Transport layer fragmentation is not supported. " alt="" coords="405,81,552,108"/>
395 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846" title="xran_ut_prepare_cp" alt="" coords="611,5,747,32"/>
396 <area shape="rect" id="node6" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="643,56,715,83"/>
397 <area shape="rect" id="node7" href="xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd" title="generate_cpmsg_dlul" alt="" coords="606,107,751,133"/>
398 <area shape="rect" id="node8" href="xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d" title="generate_cpmsg_prach" alt="" coords="600,157,757,184"/>
399 <area shape="rect" id="node5" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="827,5,899,32"/>
400 <area shape="rect" id="node9" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="827,132,899,159"/>
401 <area shape="rect" id="node10" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090" title="performance_cp" alt="" coords="805,183,920,209"/>
402 <area shape="rect" id="node11" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee" title="TEST_P" alt="" coords="968,183,1040,209"/>
403 </map>
404 </div>
405
406 </div>
407 </div>
408 <a id="ad199c3f4bfa018f5d0846471206217d1"></a>
409 <h2 class="memtitle"><span class="permalink"><a href="#ad199c3f4bfa018f5d0846471206217d1">&#9670;&nbsp;</a></span>xran_parse_ecpri_hdr()</h2>
410
411 <div class="memitem">
412 <div class="memproto">
413       <table class="memname">
414         <tr>
415           <td class="memname">int xran_parse_ecpri_hdr </td>
416           <td>(</td>
417           <td class="paramtype">struct rte_mbuf *&#160;</td>
418           <td class="paramname"><em>mbuf</em>, </td>
419         </tr>
420         <tr>
421           <td class="paramkey"></td>
422           <td></td>
423           <td class="paramtype">struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **&#160;</td>
424           <td class="paramname"><em>ecpri_hdr</em>, </td>
425         </tr>
426         <tr>
427           <td class="paramkey"></td>
428           <td></td>
429           <td class="paramtype">struct <a class="el" href="structxran__recv__packet__info.html">xran_recv_packet_info</a> *&#160;</td>
430           <td class="paramname"><em>pkt_info</em>&#160;</td>
431         </tr>
432         <tr>
433           <td></td>
434           <td>)</td>
435           <td></td><td></td>
436         </tr>
437       </table>
438 </div><div class="memdoc">
439
440 <p>Parse ECPRI header. </p>
441 <dl class="params"><dt>Parameters</dt><dd>
442   <table class="params">
443     <tr><td class="paramname">mbuf</td><td>The pointer of the packet buffer to be parsed </td></tr>
444     <tr><td class="paramname">ecpri_hdr</td><td>The pointer to ECPRI header </td></tr>
445     <tr><td class="paramname">pkt_info</td><td>The pointer of sturcture to store the information from header </td></tr>
446   </table>
447   </dd>
448 </dl>
449 <dl class="section return"><dt>Returns</dt><dd>XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet </dd></dl>
450
451 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00192">192</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
452 <div class="dynheader">
453 Here is the call graph for this function:</div>
454 <div class="dyncontent">
455 <div class="center"><img src="xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.png" border="0" usemap="#xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph" alt=""/></div>
456 <map name="xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph" id="xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph">
457 <area shape="rect" id="node2" href="xran__transport_8c.html#ab08a85b6527f45a9ba22d25061a96a3c" title="Decompose ecpriRtcid/ecpriPcid. " alt="" coords="200,5,345,32"/>
458 <area shape="rect" id="node3" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="393,5,537,32"/>
459 <area shape="rect" id="node4" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="585,5,711,32"/>
460 </map>
461 </div>
462 <div class="dynheader">
463 Here is the caller graph for this function:</div>
464 <div class="dyncontent">
465 <div class="center"><img src="xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.png" border="0" usemap="#xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph" alt=""/></div>
466 <map name="xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph" id="xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph">
467 <area shape="rect" id="node2" href="xran__cp__api_8c.html#a38c83cd67a7265920f3bd0b36510f713" title="Parse a C&#45;Plane packet (for RU emulation) Transport layer fragmentation is not supported. " alt="" coords="200,31,332,57"/>
468 <area shape="rect" id="node3" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="412,5,484,32"/>
469 <area shape="rect" id="node4" href="chain__tests_8cc.html#aa17765d107c851ebcc3d202cef78aa75" title="send_mbuf_cp_perf" alt="" coords="380,56,516,83"/>
470 <area shape="rect" id="node5" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="564,56,636,83"/>
471 <area shape="rect" id="node6" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="684,56,756,83"/>
472 </map>
473 </div>
474
475 </div>
476 </div>
477 <a id="a7070bae58b40a4621354bda1677261af"></a>
478 <h2 class="memtitle"><span class="permalink"><a href="#a7070bae58b40a4621354bda1677261af">&#9670;&nbsp;</a></span>xran_update_ecpri_payload_size()</h2>
479
480 <div class="memitem">
481 <div class="memproto">
482 <table class="mlabels">
483   <tr>
484   <td class="mlabels-left">
485       <table class="memname">
486         <tr>
487           <td class="memname">void xran_update_ecpri_payload_size </td>
488           <td>(</td>
489           <td class="paramtype">struct rte_mbuf *&#160;</td>
490           <td class="paramname"><em>mbuf</em>, </td>
491         </tr>
492         <tr>
493           <td class="paramkey"></td>
494           <td></td>
495           <td class="paramtype">int&#160;</td>
496           <td class="paramname"><em>size</em>&#160;</td>
497         </tr>
498         <tr>
499           <td></td>
500           <td>)</td>
501           <td></td><td></td>
502         </tr>
503       </table>
504   </td>
505   <td class="mlabels-right">
506 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
507   </tr>
508 </table>
509 </div><div class="memdoc">
510
511 <p>modify the payload size of eCPRI header in xRAN packet </p>
512 <dl class="params"><dt>Parameters</dt><dd>
513   <table class="params">
514     <tr><td class="paramname">mbuf</td><td>Initialized rte_mbuf packet which has eCPRI header already </td></tr>
515     <tr><td class="paramname">size</td><td>payload size to be updated </td></tr>
516   </table>
517   </dd>
518 </dl>
519 <dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
520
521 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00113">113</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
522
523 </div>
524 </div>
525 </div><!-- contents -->
526 <!-- start footer part -->
527 <hr class="footer"/><address class="footer"><small>
528 Generated by &#160;<a href="http://www.doxygen.org/index.html">
529 <img class="footer" src="doxygen.png" alt="doxygen"/>
530 </a> 1.8.13
531 </small></address>
532 </body>
533 </html>